CVE-2026-54552

sh _uid does not drop supplementary groups (incomplete privilege drop)

State
Published
Severity
7.9 High
Published
Aug 18, 2026
Updated
Aug 18, 2026
Reserved
Jun 15, 2026

Read the record on cve.org

Description

sh provides Python process launching. Prior to 2.2.4, the _uid option in sh.py performs an incomplete privilege drop on Linux and Unix-like systems. When sh runs from an elevated process and launches a command with _uid set to an unprivileged user, the child changes its UID but can retain the parent process's supplementary groups because the privilege-drop sequence does not fully establish the target user's UID, primary GID, and supplementary groups. The child can therefore retain access to files or resources granted to privileged groups such as root, docker, disk, shadow, or sudo, violating the expected _uid privilege boundary. This issue is fixed in version 2.2.4.

Scores

CVSSScoreVectorSource
3.17.9 HighCVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:NGitHub_M

Weaknesses

  • CWE-273 Improper Check for Dropped Privileges

Affected Products

ProductVersions
shamoffat
  • < 2.2.4Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.