Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Network-delivered eval injection with PR:L per CVSS 4.0 vector (conflicting description claim noted); full CIA impact via OS command execution in host process.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Perspective 5.0.0 contains a remote code execution vulnerability that allows unauthenticated attackers to execute arbitrary operating system commands by submitting crafted expression strings to the PolarsVirtualServer backend, which passes client-supplied input directly to Python's eval() with only __builtins__={} cleared. Attackers can exploit Python object attribute traversal through the interpreter's loaded class list to reach subprocess.Popen via a TableValidateExprReq or TableMakeViewReq protobuf message, achieving arbitrary command execution in the Perspective host process.
AnalysisAI
Remote code execution in Perspective 5.0.0 exposes any network-reachable PolarsVirtualServer backend to arbitrary OS command execution via Python eval() injection. The server passes client-supplied expression strings to eval() with only __builtins__={} cleared - a well-known insufficient sandbox - enabling attackers to traverse Python's loaded class hierarchy to reach subprocess.Popen through crafted TableValidateExprReq or TableMakeViewReq protobuf messages. A public exploit is confirmed by VulnCheck, and five vulnerabilities were disclosed simultaneously in the researcher's blog post, suggesting a broader attack surface in this release. No KEV listing is identified, but the published PoC substantially lowers the exploitation barrier.
Technical ContextAI
Perspective (CPE: cpe:2.3:a:perspective-dev:perspective) is an open-source high-performance data visualization and analytics library whose PolarsVirtualServer backend exposes server-side expression evaluation. The root cause is CWE-95 (Eval Injection): client-supplied expression strings are passed directly to Python's built-in eval() function. The only attempted sandboxing - setting __builtins__={} in the eval context - is a widely documented anti-pattern. Python's runtime object model retains references to all loaded classes via __subclasses__(), allowing an attacker to walk the class hierarchy from any accessible type (e.g., object.__subclasses__()) to locate subprocess.Popen or os.system without requiring any __builtins__ access. The attack is delivered via Google Protocol Buffer (protobuf) messages (TableValidateExprReq or TableMakeViewReq), meaning it targets a structured, purpose-built API endpoint rather than a generic web form. The EUVD entry EUVD-2026-52692 corroborates the affected range as all versions from 0 through 5.0.0 inclusive.
RemediationAI
No vendor-released patched version has been independently confirmed from available data - patch availability must be verified directly with the perspective-dev project repository. As an immediate compensating control, restrict network access to the PolarsVirtualServer's protobuf endpoints (TableValidateExprReq and TableMakeViewReq) to trusted internal networks only; note this disables server-side expression evaluation and may break expression-based analytics features for end users. If expression evaluation cannot be disabled, enforce strict authentication and authorization at the gateway layer so only known trusted users can submit expression payloads. A code-level fix requires replacing eval() with a safe, sandboxed expression parser (e.g., asteval or a restricted grammar parser) - the __builtins__={} approach must not be used as a security control. Monitor https://www.vulncheck.com/advisories/perspective-rce-via-eval-expression-injection for patch release updates. Given that five CVEs were disclosed simultaneously in the researcher's blog, review the full post at https://christbowel.com/blog/perspective-5-0-0-five-cves/ for companion vulnerabilities that may require additional remediation.
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
Same weakness CWE-95 – Eval Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-52692
GHSA-3jqr-28gj-8vq4