Skip to content
Fencer Vulns
high 7.9

CVE-2026-54552 json

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

published 2026-07-17 3 mo ago modified 2026-10-22 17 d ago also GHSA-q38v-wp89-2w55 , PYSEC-2026-3540 , EUVD-2026-61127

cvss
7.9
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.2%
EPSS 0.2% chance of exploitation in 30 days, percentile 6%
public exploits
0
none known

Summary

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.

Patch / fix

  • pypi sh 2.2.4
  • python-sh Debian 14 2.4.0-1

debian advisories DEBIAN-CVE-2026-54552

  • python-sh SLES 16.0, SLES for SAP applications 16.0 2.2.2-160000.3.1
  • python-sh SLES for SAP 15 SP6, SLES for SAP 15 SP5, SLES for SAP 15 SP4 +8 more 2.0.4-150400.9.6.1

suse advisories SUSE-SU-2026:23112-1SUSE-SU-2026:23134-1SUSE-SU-2026:3422-1

  • python-sh openSUSE Leap 16.0 2.2.2-160000.3.1
  • python-sh openSUSE Tumbleweed 2.3.0-1.1

opensuse advisories openSUSE-SU-2026:21516-1openSUSE-SU-2026:11372-1

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-54552 updated cvss 7.9

sh: sh: Incomplete privilege drop allows child processes to retain privileged group access.

  • Red Hat OpenShift Virtualization 4 container-native-virtualization/ocp-virt-validation-checkup-rhel9
    not affected: vulnerable code not in execute path

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
none
Automatable
no
Technical impact
total
Assessed
2 mo ago

Exploit prediction

0.17% chance of exploitation in the next 30 days, higher than 6% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 7.9 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N
GitHub 3.1 7.9 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N
OSV 3.1 7.9 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N

Affected packages

ecosystem package affected fixed in
pypi sh
<2.2.4
2.2.4

Affected products

  • amoffat sh

Classification

Weakness
  • CWE-273 Improper Check for Dropped Privileges

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.