Skip to content

Commit cd2c67f

Browse files
Kushagra Srivastavalsalvadore
authored andcommitted
Status/2025Q3/mac_do.adoc: Add report
Pull Request: #552
1 parent 16678d8 commit cd2c67f

File tree

1 file changed

+22
-0
lines changed
  • website/content/en/status/report-2025-07-2025-09

1 file changed

+22
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
=== mac_do(4) and mdo(1) Improvements
2+
3+
Links: +
4+
link:https://wiki.freebsd.org/SummerOfCode2025Projects/MacDoAndMDoImprovements[Wiki page] URL: link:https://wiki.freebsd.org/SummerOfCode2025Projects/MacDoAndMDoImprovements[]
5+
6+
Contact: Kushagra Srivastava <thesynthax@FreeBSD.org>
7+
8+
As part of Google Summer of Code 2025, I worked on two related sub-projects in the FreeBSD Project: kernel improvements to man:mac_do[4] and userland enhancements to man:mdo[1].
9+
10+
mac_do is a kernel MAC security module that allows controlled credential transitions without requiring setuid binaries. The project extended it in two key ways:
11+
12+
* **Per-jail configuration of authorized executables** – administrators can now specify a list of executables per-jail, permitted to request credential transitions, instead of being limited to the hardcoded [.filename]#/usr/bin/mdo#.
13+
* **Support for traditional credential-changing syscalls** – transitions requested via man:setuid[2], man:setgid[2], man:setgroups[2], and related functions are now intercepted and authorized through mac_do, in addition to the original man:setcred[2] mechanism.
14+
15+
On the userland side, the companion tool man:mdo[1] was extended to:
16+
17+
* Allow explicit UID/GID overrides, fine-grained group management (`-g`, `-G`, `-s` options), and improved credential parsing.
18+
* Provide a `--print-rule` option to display the corresponding mac_do rule for a requested transition.
19+
20+
Together, these improvements make mac_do and mdo far more flexible and practical, enabling safer privilege transitions without relying on setuid executables and with strong jail integration.
21+
22+
Sponsor: Google LLC (Google Summer of Code 2025)

0 commit comments

Comments
 (0)