Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain low-privilege access to Perspective server
-
DeliverySend crafted protobuf TableValidateExprReq or TableMakeViewReq message
-
ExploitInject Python subclass traversal expression into eval()
-
ExecutionBypass __builtins__={} sandbox via class hierarchy traversal
-
PersistReach subprocess.Popen through loaded runtime classes
-
ImpactExecute arbitrary OS commands as host process
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Eval input sanitization
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The PolarsVirtualServer backend must be running and reachable by the attacker over the network - this backend specifically handles expression evaluation via protobuf API (TableValidateExprReq or TableMakeViewReq message types). The CVSS 4.0 vector specifies PR:L, meaning at minimum a low-privilege session or credential is required; however, the CVE description explicitly states 'unauthenticated attackers,' creating a direct conflict that is unresolved from available data - authentication requirements must be verified with the vendor. Exploitation is version-specific: only Perspective 0 through 5.0.0. Limiting factors: the PolarsVirtualServer must be in use (not all Perspective deployments use this backend); the PR:L discrepancy may mean that some authentication barrier exists in default configurations; and scope change is absent (SC:N/SI:N/SA:N) meaning lateral movement to adjacent systems is not directly enabled by this vulnerability alone. |
| Impact | The CVSS 4.0 score of 8.7 reflects a high-severity, network-accessible (AV:N), low-complexity (AC:L), no-user-interaction (UI:N) vulnerability with full impact on the vulnerable system's confidentiality, integrity, and availability. A critical discrepancy exists between the CVE description - which characterizes attackers as 'unauthenticated' - and the CVSS 4.0 vector, which specifies PR:L (low-privilege access required); defenders must verify authentication requirements with the vendor before assessing true exposure. No CISA KEV listing is identified at time of analysis, so active widespread exploitation is not confirmed. However, the publicly available PoC published by the researcher at christbowel.com dramatically elevates real-world risk: the Python subclass traversal technique is elementary and well-documented, meaning the PoC requires minimal adaptation. The attack is conditionally automatable - if the PR:L barrier proves low or absent in practice, mass scanning and exploitation becomes feasible. This is a genuine high-priority remediation candidate, not a CVSS-inflated theoretical risk, particularly for any internet-exposed Perspective deployment. |
| Exploit ScenarioDerived | An attacker with low-privilege access to a Perspective 5.0.0 server sends a crafted protobuf TableValidateExprReq message containing a Python expression that walks the interpreter's loaded subclass list (e.g., ''.__class__.__mro__[1].__subclasses__()) to locate subprocess.Popen, then calls it with an arbitrary OS command. Because __builtins__={} does not block class attribute traversal, the server's PolarsVirtualServer evaluates the payload and executes the command in the context of the Perspective host process. A public PoC demonstrating this exact technique is available at the researcher's blog, requiring minimal attacker skill to operationalize. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 04, 2026
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.
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.
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
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.
Know when Perspective 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:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
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
DescriptionCVE.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.
Executive ViewAI
Perspective 5.0.0 PolarsVirtualServer backend systems are vulnerable to remote code execution with publicly available exploit code. Attackers can execute arbitrary OS commands on any network-accessible instance. No vendor patch is available, creating immediate and severe infrastructure compromise risk for affected organizations.
Implement network segmentation via firewall to restrict PolarsVirtualServer access to authorized networks only. Disable the service if operationally feasible. Run all backend processes as least-privileged users and apply OS-level sandboxing (seccomp, AppArmor). Deploy real-time monitoring and alerting for subprocess creation and unexpected command execution. Monitor vendor advisory for patch release. These controls reduce attack surface but do not eliminate risk-no vendor-released patch identified at time of analysis.
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
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
More in Perspective
View allPerspective ICM Investigation & Case 5.1.1.16 allows remote authenticated users to modify access level permissions and c
Remote unauthenticated file disclosure in perspective-dev/perspective 5.0.0 allows any network attacker to read arbitrar
Unauthenticated remote denial-of-service in Perspective 5.0.0 crashes the server process by exploiting missing field val
Denial of service in Perspective 5.0.0 allows low-privileged remote attackers to render the server permanently unrespons
Cross-site scripting in Perspective 5.0.0's built-in Debug plugin enables an authenticated attacker with low privileges
EUVD-2026-52692
GHSA-3jqr-28gj-8vq4
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB