Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/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-reachable with no privileges needed, but passive user interaction required (UI:R); full CIA impact on vulnerable system with no scope change to other systems.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
3DescriptionCVE.org
openssl_encrypt versions before 1.4.0 contain a sandbox bypass vulnerability where the plugin sandbox fails to restrict alternative file access methods like pathlib.Path and io.open. Attackers can import pathlib or io modules to read and write arbitrary files, completely bypassing the restricted_open file access controls.
AnalysisAI
Sandbox bypass in the openssl_encrypt Python plugin (jahlives, all versions before 1.4.0) allows attackers to completely circumvent the restricted_open file access control layer by importing Python's standard pathlib or io modules within the sandbox context, enabling arbitrary file read and write on the host filesystem. The vulnerability is exploitable over the network with no privileges required but requires passive user interaction (UI:P per CVSS 4.0), scoring 8.7 on the CVSS 4.0 scale. No public exploit has been identified at time of analysis, and a vendor-released patch is available in version 1.4.0.
Technical ContextAI
The affected product is the openssl_encrypt Python plugin by jahlives (CPE: cpe:2.3:a:jahlives:openssl_encrypt:*:*:*:*:*:*:*:*), which implements an internal sandbox designed to gate filesystem access through a controlled restricted_open interface. The root cause is classified under CWE-693 (Protection Mechanism Failure): the sandbox allowlist or blocklist logic fails to account for Python's pathlib.Path and io.open interfaces, both of which are standard library entry points for filesystem access that are entirely independent of the sandboxed restricted_open pathway. Because the sandbox does not intercept or deny imports of the pathlib or io modules, any code executing within the sandbox can trivially bypass the intended access controls by using these alternative Python APIs. This is a classic incomplete mediation failure - the protection mechanism guards one access path while leaving semantically equivalent paths unguarded.
RemediationAI
Upgrade openssl_encrypt to version 1.4.0 or later, which is the vendor-released patch addressing this sandbox bypass. The authoritative upgrade guidance and patch details are documented in the GitHub Security Advisory at https://github.com/jahlives/openssl_encrypt/security/advisories/GHSA-mcjj-qw7m-j3cp. If immediate upgrade is not operationally feasible, a specific compensating control is to wrap the plugin process in an OS-level filesystem sandbox such as seccomp-bpf, AppArmor, or a read-only container filesystem, which enforces file access restrictions at the kernel level independently of the application sandbox - note this may break legitimate plugin functionality that depends on controlled file writes and requires testing. A second short-term option is to intercept Python import statements at the interpreter level (e.g., via import hooks or sys.meta_path manipulation) to deny imports of pathlib and io within the plugin's execution context; this is not confirmed by vendor guidance and carries risk of incomplete coverage if other equivalent modules exist.
More in Openssl Encrypt
View allArbitrary native code execution in the jahlives openssl_encrypt Python package (all versions before 1.4.0) arises from i
Fingerprint-verification spoofing in jahlives openssl_encrypt before 1.4.9 lets attackers embed ANSI escape sequences in
Sandbox escape in the openssl_encrypt Python library (jahlives) before 1.4.0 allows attacker-supplied plugins to run wit
Arbitrary code execution in jahlives openssl_encrypt before 1.4.0 stems from an inconsistent sandbox: the runtime Plugin
Authentication bypass in the jahlives openssl_encrypt library (all versions before 1.4.0) lets remote unauthenticated at
Authentication brute-force protection can be bypassed in jahlives openssl_encrypt before 1.4.0 because the TOTP rate lim
Sandbox escape in the openssl_encrypt Python library (jahlives) before 1.4.0 lets attacker-supplied plugin code break ou
Cryptographic shared-secret disclosure in the openssl_encrypt Python library (maintainer 'jahlives') before 1.4.0 lets a
Sandbox escape leading to remote code execution affects openssl_encrypt (the jahlives Python package) in all versions be
Arbitrary code execution in openssl_encrypt (the jahlives Python encryption utility) before 1.4.9 allows an attacker-sup
Arbitrary code execution in jahlives openssl_encrypt before 1.4.9 stems from a flawed plugin trust model that uses a den
Sensitive-token exposure in openssl_encrypt (the jahlives Python package, pip 'openssl-encrypt') before 1.4.0 stems from
Same weakness CWE-693 – Protection Mechanism Failure
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-60102
GHSA-p2g6-jjwg-33v4