CVE-2026-33139·Python vulnerability
PySpector is a static analysis security testing (SAST) Framework engineered for modern Python development workflows. PySpector versions 0.1.6 and prior are affected by a security validation bypass in the plugin system. The validate_plugin_code() function in plugin_system.py, performs static AST analysis to block dangerous API calls before a plugin is trusted and executed. However, the internal resolve_name() helper only handles ast.Name and ast.Attribute node types, returning None for all others. When a plugin uses indirect function calls via getattr() (such as getattr(os, 'system')) the outer call's func node is of type ast.Call, causing resolve_name() to return None, and the security check to be silently skipped. The plugin incorrectly passes the trust workflow, and executes arbitrary system commands on the user's machine when loaded. This issue has been patched in version 0.1.7.
- Severity
- high
- Software
- Python
- Fixed in
- 0.1.7
- Published
How likely is exploitation
FIRST's Exploit Prediction Scoring System puts the probability of this CVE being exploited in the next 30 days at <0.1% — higher than 6% of all published CVEs. EPSS is an independent forecast of exploitation, not a severity rating: it says nothing about how much damage a successful attack does, which is what a CVSS score measures.
Read the two together. CVE-2026-33139 scores 7.8 on CVSS, so a successful attack would be serious — but at <0.1%, almost nobody is currently attempting it. That is a different situation from a flaw under mass exploitation, and it is usually the difference between patching on your next maintenance window and patching tonight.
Affected versions
Until: 0.1.7
Fixed in: 0.1.7
How to fix this CVE
Upgrade PySpector to version 0.1.7 or later to patch the plugin validation bypass that allows indirect function calls to escape security checks. Users relying on PySpector for static analysis should immediately update to prevent malicious plugins from executing arbitrary system commands during the trust validation phase.
sudo dnf update python3-pyspector || pip3 install --upgrade pyspector>=0.1.7Defensia detects this vulnerability
How to check if you are affected
- Run `pip3 show pyspector | grep Version` to check the installed PySpector version; versions 0.1.6 and prior are vulnerable.
- Examine your project's plugin directory for any third-party or untrusted plugins that may use indirect function calls via getattr().
- Search system logs and audit logs for unexpected process execution or system command invocation that coincides with PySpector plugin loading, using `grep -r 'getattr' ~/.pyspector/plugins/` to identify suspicious patterns.
- Verify the patch by running `pip3 show pyspector | grep Version` again and confirming the version is 0.1.7 or higher.
FAQ
What is CVE-2026-33139?
CVE-2026-33139 is a plugin validation bypass in PySpector's SAST framework where the security validator fails to detect indirect function calls made through getattr(), allowing untrusted plugins to execute arbitrary system commands on the host machine.
Is CVE-2026-33139 being actively exploited?
No, CVE-2026-33139 is not listed on the CISA Known Exploited Vulnerabilities (KEV) catalog and no public exploits are currently available.
What versions of Python are affected by CVE-2026-33139?
PySpector versions 0.1.6 and earlier are affected; the vulnerability was patched in version 0.1.7. This affects all Python 3.x versions that run vulnerable PySpector versions.
How do I check if my server is vulnerable to CVE-2026-33139?
Run `pip3 list | grep pyspector` to check if PySpector is installed, then run `pip3 show pyspector | grep Version` to confirm whether your version is 0.1.6 or prior (vulnerable) or 0.1.7+ (patched).
Does Defensia detect CVE-2026-33139?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If PySpector is installed on a monitored server, CVE-2026-33139 will appear in your dashboard with remediation steps.
Related Python CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2026-33139. Free for 1 server.
Get started free