Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconCraft malicious .pyc in __pycache__ alongside benign .py source
-
DeliveryPublish poisoned package to accessible Python registry
-
ExploitVictim CI/CD scans package with agentverus-scanner
-
InstallScanner skips bytecode; issues CERTIFIED verdict
-
C2Victim approves and installs package
-
ExecuteCPython resolves .pyc over .py at import
-
ImpactMalicious bytecode executes in victim runtime
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Protection mechanism completeness
|
| Exploitation Conditions | Exploitation requires that the victim organization uses agentverus-scanner as a gate for approving Python packages and that the attacker can introduce a package into a registry or path the scanner evaluates. The malicious package must include at least one __pycache__ directory with a valid .pyc file whose bytecode diverges from the accompanying .py source. CPython must be present in the execution environment (any CPython 3.x version that validates the .pyc header). No authentication or elevated privilege is required to craft or distribute the malicious package. Exploitation is limited to environments that (a) run agentverus-scanner v0.8.1 or an unpatched version, (b) treat its CERTIFIED verdict as sufficient approval for package import, and (c) subsequently import the approved package in a live Python runtime. |
| Impact | The CVSS 4.0 score of 7.1 (AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N) captures only the scanner's own system impact - a false-positive CERTIFIED verdict - and omits subsequent system RCE, which is the actual realized harm. Real-world risk is materially higher: an attacker with no privileges can publish a poisoned package to any Python registry, pass scanner gate checks, and achieve arbitrary code execution in every environment that trusts the scanner's verdict. The attack is low-complexity and requires only passive user interaction (a normal import). No KEV listing and no confirmed public exploit code mitigate urgency, but the bypass technique is fully described in the VulnCheck advisory. EPSS data is absent from available signals. The primary risk limiter is the scanner's niche deployment footprint; organizations that have integrated agentverus-scanner into CI/CD or supply-chain vetting pipelines face meaningful supply-chain RCE exposure. |
| Exploit ScenarioDerived | An attacker publishes a PyPI package containing a harmless math_utils.py alongside a __pycache__/math_utils.cpython-312.pyc that, when imported, beacons out and opens a reverse shell. A victim organization's CI/CD pipeline scans the package with agentverus-scanner, receives a CERTIFIED verdict with high trust scores, approves the dependency, and deploys it - triggering code execution at the first import in staging or production. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 02, 2026
Python bytecode scanning gap in agentverus-scanner allows supply-chain attackers to smuggle malicious __pycache__ .pyc files past the tool's static and semantic analysis engines, which only inspect source .py files in companion code directories. Packages carrying malicious bytecode alongside benign source receive a CERTIFIED verdict with elevated trust scores, causing downstream environments that trust the scanner to silently execute attacker-controlled code on import. No public exploit code has been identified at time of analysis, but the VulnCheck advisory and GitHub issue #27 document the bypass technique in sufficient detail for reproduction.
RemediationAI
No vendor-released patched version is independently confirmed at time of analysis. Upstream fix availability should be tracked via GitHub issue #27 (https://github.com/agentverus/agentverus-scanner/issues/27) and the VulnCheck advisory (https://www.vulncheck.com/advisories/agentverus-scanner-companion-code-analysis-bypass-via-excluded-python-bytecode). As a compensating control, organizations should extend scanner invocations to explicitly enumerate and disassemble .pyc files in all __pycache__ subdirectories using tools such as uncompyle6 or pycdc before trusting any CERTIFIED verdict. A second compensating control is to delete or strip __pycache__ directories from all third-party packages before import, forcing CPython to recompile from source - this adds build latency but closes the bytecode substitution vector. Do not treat agentverus-scanner CERTIFIED verdicts as authoritative for packages containing __pycache__ entries until a patched release confirms the coverage gap is closed.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
agentverus-scanner (v0.8.1) performs companion-code analysis to inspect Python packages distributed alongside compiled components. The flaw lies in companion-code.ts and the semantic analyzer (semantic.ts): neither stage enumerates or evaluates .pyc files stored in __pycache__ subdirectories. CPython resolves compiled bytecode over source files when __pycache__ entries are present and timestamp/hash-validated, so a package can ship a benign top-level foo.py while __pycache__/foo.cpython-3x.pyc executes entirely different logic at import time. CWE-693 (Protection Mechanism Failure) is the correct classification: the scanner's protection mechanism is bypassed because its coverage model omits a legitimate Python execution artifact.
Know when Python gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Network-distributed malicious package; low complexity; no attacker privileges; victim must import package (UI:R); scope changes to victim runtime where RCE achieves full C/I/A impact.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
DescriptionCVE.org
agentverus-scanner fails to analyze compiled Python bytecode files in companion code directories, allowing attackers to bypass security scanning by shipping malicious __pycache__ entries alongside benign source files. Attackers can execute arbitrary Python bytecode on import while the scanner reports a CERTIFIED verdict with high trust scores in both static and semantic analysis modes.
Articles & Coverage 1
Executive ViewAI
agentverus-scanner contains a scanning gap that allows attackers to bypass its analysis engines by embedding malicious Python bytecode (.pyc files) in packages, which receive CERTIFIED verdicts and silent code execution upon import in downstream environments. This vulnerability directly undermines supply-chain security controls that organizations depend on for trusted dependency assessment. Development teams and DevOps using this scanner for package validation face potential code execution in their environments without detection.
No vendor-released patch identified at time of analysis. Interim mitigations: Manually inspect __pycache__ directories in dependencies scanned by agentverus-scanner; disable automated trust/elevated scoring based on CERTIFIED verdicts from this tool; require manual code review before trusting scanner-approved packages; implement supplementary SCA tooling with bytecode inspection capabilities; maintain signed software provenance records independent of this scanner's assessments.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t
BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser
pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi
The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python
BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.
Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301
In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse
Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne
EUVD-2026-70226
GHSA-7r9q-g8p5-w7pp
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB