Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/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
Untrusted plugin code is attacker-supplied so PR:N/AC:L, and a sandbox escape to code execution yields full C/I/A impact; scope kept Unchanged as impact lands on the host process.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/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
Lifecycle Timeline
3DescriptionCVE.org
openssl_encrypt versions before 1.4.0 contain a plugin sandbox bypass vulnerability where the PluginImportGuard blocks a different set of modules than the AST analyzer's DANGEROUS_MODULES set. Attackers can bypass AST analysis through string obfuscation or encoding to import unblocked dangerous modules like sys, shutil, multiprocessing, importlib, and pickle for arbitrary code execution.
AnalysisAI
Arbitrary code execution in jahlives openssl_encrypt before 1.4.0 stems from an inconsistent sandbox: the runtime PluginImportGuard and the static AST analyzer enforce two different blocklists, so an attacker who slips past the AST's DANGEROUS_MODULES check can still import high-risk modules at runtime. By using string obfuscation or encoding to hide imports of sys, shutil, multiprocessing, importlib, or pickle, a supplied plugin escapes the sandbox and runs on the host. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Exploitation requires that the target application actually uses openssl_encrypt's plugin sandbox to execute attacker-influenced or untrusted plugin code, and that the malicious import is obfuscated (via string manipulation or encoding) so it evades the AST analyzer's DANGEROUS_MODULES check while reaching a module the PluginImportGuard does not block (sys, shutil, multiprocessing, importlib, or pickle). … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | This is a genuine high-priority issue where the CVSS 4.0 base of 9.3 (AV:N/AC:L/AT:N/PR:N/UI:N with High confidentiality, integrity, and availability impact) is credible for any deployment that feeds untrusted plugins through the sandbox, since the vulnerability defeats the very control meant to contain that untrusted code. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | An application uses openssl_encrypt to run a user-submitted plugin, trusting the AST analyzer to block dangerous modules. The attacker submits a plugin that hides an import of importlib or pickle behind string encoding, passing static analysis; at runtime the PluginImportGuard fails to block it, so the plugin decodes the module name, imports it, and executes arbitrary commands on the host. … |
| Remediation | Upgrade openssl_encrypt to version 1.4.0 or later, which the vendor has released as the fix (Patch available per vendor advisory GHSA-9pgj-v69p-q586); the exact fixed baseline is 1.4.0 since all versions below it are affected. … Detailed patch versions, workarounds, and compensating controls in full report. |
Recommended ActionAI
Within 24 hours, conduct an inventory of all deployments running jahlives openssl_encrypt versions prior to 1.4.0, including production and non-production environments, and document their criticality to business operations. …
Sign in for detailed remediation steps and compensating controls.
Threat intelligence, references, and detailed analysis are available after sign-in.
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
Sandbox escape in the openssl_encrypt Python library (jahlives) before 1.4.0 lets attacker-supplied plugin code break ou
Insecure PRNG import in the jahlives openssl_encrypt Python package (all versions before 1.4.0) places Python's non-cryp
Authentication bypass in the openssl_encrypt Python library (versions before 1.4.0) lets attackers who can tamper with c
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
Sandbox escape in the openssl_encrypt Python library (jahlives) before 1.4.0 allows attacker-supplied plugins to run wit
Authentication bypass in the jahlives openssl_encrypt library (all versions before 1.4.0) lets remote unauthenticated at
Integrity-protection bypass in the jahlives openssl_encrypt Python library (all versions before 1.4.0) lets an attacker
Weak cryptographic key derivation in the openssl_encrypt Python library (all versions before 1.4.0) stems from its key-n
Audit-trail corruption and a security-control race condition in the Python library openssl_encrypt (by jahlives) before
Sensitive-token exposure in openssl_encrypt (the jahlives Python package, pip 'openssl-encrypt') before 1.4.0 stems from
Same weakness CWE-184 – Incomplete List of Disallowed Inputs
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-60105
GHSA-c7vw-vfxj-3mvh