Skip to content

CI validation: drop-sudo socket ACL fix - #1

Closed
pardhaponugoti wants to merge 1 commit into
mainfrom
fix-drop-sudo-socket-acl
Closed

CI validation: drop-sudo socket ACL fix#1
pardhaponugoti wants to merge 1 commit into
mainfrom
fix-drop-sudo-socket-acl

Conversation

@pardhaponugoti

Copy link
Copy Markdown
Owner

Intra-fork PR to run the sudo-gated test suite before upstreaming.

…ping group/other mode bits

restrictRootServiceSocket previously chmod-ed every root-owned service
socket the runner user could write to `mode & 0o700`. On a live host that
removes access for the system peers those sockets exist to serve — D-Bus
clients such as systemd-resolved, journald stdout connections, docker group
members. systemd-resolved (a non-root service) then fails to (re)start with
"Failed to connect to system bus: Permission denied", crash-loops into the
systemd start limit, and name resolution dies machine-wide. On GitHub-hosted
runners this eventually starves the runner agent itself: jobs whose codex
step exceeds ~45 minutes are declared "the hosted runner lost communication
with the server" (observed 52-65 min across both standard and larger
runners).

Deny only the runner user instead, with a named-user ACL entry
(setfacl -m u:<user>:---), leaving the socket mode — and therefore every
system peer's access — untouched. Named-user entries also close the case a
mode-only check missed: a socket whose group/other bits are already 0 but
which grants the runner access through an existing ACL. When ACL tooling is
unavailable the previous chmod behavior is kept as a fallback, so the
security posture never regresses.

The existing test contract is access-based (the fake codex binary records
accessSync(W_OK) per socket) and passes unchanged; verification in the
non-root phase continues to assert the dropped user cannot write any
discovered socket.

Fixes openai#160
@github-actions

Copy link
Copy Markdown


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@github-actions github-actions Bot locked and limited conversation to collaborators Aug 26, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant