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
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
| CVSS | Score | Vector | Source |
|---|---|---|---|
| 3.1 | 7.9 High | CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N | GitHub_M |
Weaknesses
- CWE-273 Improper Check for Dropped Privileges
Affected Products
| Product | Versions |
|---|---|
shamoffat |
|
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.