Page MenuHomeFreeBSD

security/openssh-portable: fix uidswap behavior on FreeBSD
ClosedPublic

Authored by kevans on Aug 9 2025, 5:39 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Sep 8, 12:04 PM
Unknown Object (File)
Sun, Aug 31, 1:42 PM
Unknown Object (File)
Thu, Aug 28, 3:29 PM
Unknown Object (File)
Tue, Aug 26, 11:44 AM
Unknown Object (File)
Tue, Aug 26, 5:11 AM
Unknown Object (File)
Mon, Aug 25, 4:09 AM
Unknown Object (File)
Thu, Aug 21, 2:24 AM
Unknown Object (File)
Wed, Aug 20, 11:48 PM
Subscribers
None

Details

Summary

This adds base commit 239e8c98636a757 as a patch to avoid losing our
real GID inside temporarily_use_uid()/restore_uid() blocks. We'll need
to re-scope this to specific __FreeBSD_version blocks if 15.0 ends up
with the setgroups(2)/getgroups(2) change that brings us to the
OpenBSD/NetBSD behavior instead (no egid touching; just supplemental
groups).

Diff Detail

Repository
R11 FreeBSD ports repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 66136
Build 63019: arc lint + arc unit

Event Timeline

kevans requested review of this revision.Aug 9 2025, 5:39 PM
kevans created this revision.
This revision is now accepted and ready to land.Aug 11 2025, 7:10 PM

Since I hadn't found the time to return to this for a bit, the final version had two trivial tweaks to the patch to avoid a panic on the next main build:

  • + include <sys/parm.h>
  • + && __FreeBSD_version < 1500061

I had contemplated updating the review, but decided that it was minor enough (given that the __FreeBSD_version bump was mine for the relevant change) that you'd likely not mind.