git: 00effd2ab0bf - releng/15.1 - jail: restore ktrace privileges for jailed root

Mark Johnston <[email protected]> Wed, 29 Jul 2026 17:50:35 +0000
Newsgroups gmane.os.freebsd.devel.cvs.src
Message-ID <6a6a3d6b.3c0a2.4c92a9e4__46306.6642101452$1785347759$gmane$org@gitrepo.freebsd.org>
The branch releng/15.1 has been updated by markj:

URL: https://cgit.FreeBSD.org/src/commit/?id=00effd2ab0bf59000bfd17f0184d8ea381fa7f23

commit 00effd2ab0bf59000bfd17f0184d8ea381fa7f23
Author:     Alexander Leidinger <[email protected]>
AuthorDate: 2026-07-17 21:33:00 +0000
Commit:     Mark Johnston <[email protected]>
CommitDate: 2026-07-28 17:34:40 +0000

    jail: restore ktrace privileges for jailed root
    
    Commit 4be491e1b9b3 ("jail: Optionally allow audit session state to
    be configured in a jail") removed the #if 0 around the audit cases
    in prison_priv_check() and added the PR_ALLOW_SETAUDIT check under
    them.  This unintentionally captured the preceding case PRIV_KTRACE,
    which used to fall through the disabled block into the unconditional
    return (0) of the credential cases: since then, jailed root only has
    ktrace privileges (tracing processes with changed credentials, see
    ktrcanset()) when the unrelated allow.setaudit knob is enabled, and
    conversely gains them when that audit knob is turned on.
    
    Give PRIV_KTRACE back its own unconditional return (0), matching its
    comment and the pre-4be491e1b9b3 behaviour.
    
    Approved by:    so
    Security:       FreeBSD-SA-26:53.ktrace
    Security:       CVE-2026-58086
    Fixes:          4be491e1b9b3 ("jail: Optionally allow audit session state to be configured in a jail")
    Reviewed by:    markj
    Assisted-by:    Claude Code (Fable 5)
---
 sys/kern/kern_jail.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c
index 43acde461e40..dd420f868af9 100644
--- a/sys/kern/kern_jail.c
+++ b/sys/kern/kern_jail.c
@@ -4313,6 +4313,7 @@ prison_priv_check(struct ucred *cred, int priv)
 		 * Allow ktrace privileges for root in jail.
 		 */
 	case PRIV_KTRACE:
+		return (0);
 
 		/*
 		 * Allow jailed processes to configure audit identity and