Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain plugin installation access
-
DeliveryDeploy malicious plugin with prefix-matching directory name
-
ExploitCraft file path into sibling plugin directory
-
ExecutionPluginSandbox._is_safe_path approves path via bare prefix match
-
ImpactRead or overwrite target plugin files
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires all of the following to be true simultaneously: the target system runs openssl-encrypt in a version before 1.4.9 with the plugin sandbox active; the attacker controls or can install a sandboxed plugin within the system; and a co-located plugin exists whose directory name begins with the attacker-controlled plugin's directory name as a literal string prefix (e.g., attacker in .../plugins/foo, target in .../plugins/foobar). Without a sibling plugin sharing a name prefix, no path confusion occurs and exploitation is not possible. The attacking plugin does not require READ_FILES permission - the flaw exists precisely because the permission check is bypassed via the prefix match. Exploitation is limited to the same-user plugin isolation boundary and does not appear to extend to cross-user or OS-level privilege escalation. The CVSS 4.0 vector's AV:N and PR:N ratings are inconsistent with these prerequisites; defenders should treat this as requiring at minimum plugin-installation access in a multi-plugin deployment. |
| Impact | The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N, score 8.7) implies remote unauthenticated exploitation, but this conflicts materially with the description, which situates the attacker as a sandboxed plugin already operating within the application - not an anonymous network adversary. The PR:N rating appears incorrect given that the attacker must have a plugin installed and executing inside the system; this discrepancy should be verified against the vendor advisory at GHSA-vr4h-5xqv-xxxf before using the published score for prioritization. No EPSS data was provided and there is no CISA KEV listing, leaving exploitation probability unquantified from public signals. Real-world impact is tightly bounded by deployment model: only environments that load plugins from multiple distinct, mutually distrusting sources - such as a platform accepting user-submitted plugins - face meaningful cross-plugin data leakage risk. Deployments running only internally developed or single-author plugins face negligible practical exposure despite the high numeric score. |
| Exploit ScenarioDerived | An attacker who controls a sandboxed plugin named 'foo' - without READ_FILES permission - constructs file paths targeting the co-located plugin directory 'foobar'. Because _is_safe_path treats 'foo' as an authorized prefix for 'foobar', the malicious plugin reads sensitive configuration data or overwrites files belonging to the 'foobar' plugin, breaking inter-plugin isolation within the same user context. No public exploit code has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 27, 2026
Path traversal in the openssl-encrypt pip package (versions before 1.4.9) enables a sandboxed plugin to escape its intended isolation and access or modify a sibling plugin's files when the two plugin directories share a name prefix. The flaw in PluginSandbox._is_safe_path performs a bare string-prefix match rather than an exact directory boundary comparison, so a plugin allowed under .../plugins/foo incorrectly passes the safety check for .../plugins/foobar. Vendor-released patch version 1.4.9 corrects the flaw; no public exploit code has been identified and the package is absent from the CISA KEV catalog.
RemediationAI
Upgrade openssl-encrypt to version 1.4.9 or later, which fixes PluginSandbox._is_safe_path to require exact directory match or a trailing path separator before approving access. Consult the vendor advisory at https://github.com/jahlives/openssl_encrypt/security/advisories/GHSA-vr4h-5xqv-xxxf for release details. If immediate upgrade is not possible, segregate plugins with overlapping name prefixes into separate isolated instances to prevent prefix collision; this eliminates the cross-plugin path confusion without requiring a code change, though it adds operational complexity. Disabling the plugin subsystem entirely removes the attack surface if plugin functionality is not required. Avoid loading plugins from untrusted or third-party sources until patched.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected package is the openssl-encrypt pip library published by 'jahlives' (CPE: cpe:2.3:a:jahlives:openssl_encrypt:*:*:*:*:*:*:*:*) - an application-level encryption and plugin-management library entirely distinct from the widely-deployed OpenSSL cryptographic library despite the similar name. The library implements a plugin sandbox with granular permission controls, including a READ_FILES gate. The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory): PluginSandbox._is_safe_path validates requested file paths using a bare string prefix check (semantically equivalent to path.startswith(allowed_dir)) rather than appending a trailing path separator before comparison. This classic boundary-check failure means any directory whose name is a string prefix of a sibling directory name (e.g., plugins/foo authorizing access to plugins/foobar) incorrectly passes validation, breaking per-plugin file-system isolation. Version 1.4.9 corrects this by requiring exact-match or trailing-separator-match comparisons.
Know when OpenSSL 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:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Attacker must have a plugin installed and running locally (AV:L, PR:L); scope changes across plugin boundaries with full read/write impact on the target plugin.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
openssl_encrypt (pip: openssl-encrypt) versions before 1.4.9 contain a path traversal flaw in PluginSandbox._is_safe_path, which authorized file access using a bare string-prefix match. A sandboxed plugin without the READ_FILES permission could read or write another plugin's directory that merely shares a name prefix (e.g., .../plugins/foobar matching allowed .../plugins/foo), breaking per-plugin isolation within the same user. Fixed by matching each allowed directory exactly or with a trailing path separator.
Articles & Coverage 1
Executive ViewAI
The openssl-encrypt Python package (versions before 1.4.9) contains a path traversal vulnerability enabling untrusted plugins to escape sandbox isolation and access or modify other plugins' files. Organizations using this package for plugin management face risk of unauthorized data access and code integrity compromise.
Apply vendor patch: upgrade to openssl-encrypt version 1.4.9 or later.
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
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
The (1) TLS and (2) DTLS implementations in OpenSSL 1.0.1 before 1.0.1g do not properly handle Heartbeat Extension packe
In order to decrypt SM2 encrypted data an application is expected to call the API function EVP_PKEY_decrypt(). Rated cri
The dtls1_reassemble_fragment function in d1_both.c in OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0
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
The SSLv2 protocol, as used in OpenSSL before 1.0.1s and 1.0.2 before 1.0.2g and other products, requires a server to se
The ssl3_get_key_exchange function in s3_clnt.c in OpenSSL before 0.9.8zd, 1.0.0 before 1.0.0p, and 1.0.1 before 1.0.1k
In addition to the c_rehash shell command injection identified in CVE-2022-1292, further circumstances where the c_rehas
The TLS protocol 1.2 and earlier, when a DHE_EXPORT ciphersuite is enabled on a server but not on a client, does not pro
The SSL protocol 3.0, as used in OpenSSL through 1.0.1i and other products, uses nondeterministic CBC padding, which mak
The AES-NI implementation in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h does not consider memory allocation during a
The X509_verify_cert function in crypto/x509/x509_vfy.c in OpenSSL 1.0.1n, 1.0.1o, 1.0.2b, and 1.0.2c does not properly
A buffer overrun can be triggered in X.509 certificate verification, specifically in name constraint checking. Rated hig
EUVD-2026-67066
GHSA-7qxw-7jv4-3qr8
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB