Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify application endpoint accepting encrypted file input
-
DeliveryCraft encrypted file with extreme Argon2 or scrypt memory cost parameter
-
ExploitSubmit crafted file to endpoint (no authentication required)
-
ExecutionLibrary parses KDF cost parameters without validation
-
PersistUnbounded memory allocation exhausts host RAM
-
ImpactProcess crashes, service unavailable
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The application must invoke openssl_encrypt to process an attacker-supplied encrypted file or keystore - for example, a file upload endpoint, a decryption API, or a keystore import feature that accepts user-controlled encrypted content. The vulnerability triggers during KDF parameter parsing from encrypted file metadata or keystore headers, before any key derivation or authentication occurs, so no account or session token is needed if that processing path is exposed to unauthenticated callers. Exploitation is limited by: (1) the target application must use jahlives/openssl_encrypt at a version prior to 1.4.9; (2) the attacker must be able to supply a crafted encrypted file as direct input to the library's parsing code. Applications that exclusively process encrypted files originating from trusted, internal sources are not practically exposed. Non-default or unusual deployment configurations are not required - any default use of the library's file or keystore parsing functions is vulnerable. |
| Impact | The CVSS 4.0 score of 8.7 (AV:N/AC:L/AT:N/PR:N/UI:N/VA:H) accurately characterizes the risk profile: the attack is network-reachable, requires no authentication or user interaction, and reliably produces a process crash. However, real-world impact is substantially bounded by the niche deployment footprint of jahlives/openssl_encrypt - this is not a widely deployed enterprise library like OpenSSL or BouncyCastle, significantly limiting the exposed attack surface. EPSS data was not provided and cannot be quantified from available intelligence. No KEV listing exists and no POC has been confirmed, so exploitation remains theoretical at time of analysis. The purely availability-only impact (C:N/I:N/A:H) means successful exploitation achieves service disruption only - no data exfiltration or integrity compromise is possible. Applications with memory limits enforced at the OS or container level (ulimit, cgroup) would cap blast radius but would still crash when the limit is reached. |
| Exploit ScenarioDerived | An attacker submits a crafted encrypted file to a public-facing file import or decryption endpoint of an application built on openssl_encrypt. The crafted file's metadata declares an Argon2 memory parameter of, say, 64 GB. When the library parses the keystore header to begin decryption, it attempts to allocate 64 GB of RAM, rapidly exhausting system memory and crashing the process - taking the service offline. No authentication is required if the upload or decryption endpoint is publicly accessible. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 27, 2026
Uncontrolled memory allocation in jahlives/openssl_encrypt before 1.4.9 enables remote, unauthenticated denial of service by processing crafted encrypted files with arbitrarily large Argon2, scrypt, or balloon KDF cost parameters. Any application that passes attacker-controlled encrypted files or keystore data to this library can be crashed without requiring credentials, as the library performs no upper-bound validation on memory-hard KDF parameters before allocating the specified memory. No public exploit has been identified at time of analysis and it does not appear in CISA KEV, but the low attack complexity (AV:N/AC:L/PR:N/UI:N) makes exploitation straightforward wherever untrusted encrypted input reaches the library.
RemediationAI
Upgrade jahlives/openssl_encrypt to version 1.4.9 or later, which introduces validation of KDF cost parameters parsed from encrypted file metadata and keystore headers. The fix is confirmed by vendor GitHub security advisory GHSA-7894-5gw8-69hr at https://github.com/jahlives/openssl_encrypt/security/advisories/GHSA-7894-5gw8-69hr. If an immediate upgrade cannot be applied, restrict which callers can supply encrypted files or keystore data to the library - specifically, prevent unauthenticated or untrusted users from submitting encrypted content for processing, as this eliminates the attacker-controlled input path. Additionally, enforce process-level memory limits via OS controls (ulimit -v on Linux or cgroup v2 memory.max) to cap the maximum RAM a crash can consume; note this does not prevent the crash but limits collateral impact on the host. Monitor for sudden memory spikes in services using the library as an exploitation indicator.
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
openssl_encrypt (CPE: cpe:2.3:a:jahlives:openssl_encrypt:*:*:*:*:*:*:*:*) is an open-source PHP encryption library maintained by jahlives on GitHub. The root cause is CWE-400 (Uncontrolled Resource Consumption): encrypted file metadata and keystore headers embed KDF cost parameters (memory factor, iteration count, parallelism) that the library reads and passes directly to memory-hard KDF implementations - Argon2, scrypt, and balloon hashing - without enforcing any upper bound. These KDFs are intentionally memory-intensive by design; their cost parameters linearly or super-linearly govern RAM allocation during key derivation. A crafted file declaring, for example, an Argon2 memory parameter of multiple gigabytes triggers allocation of that amount before any decryption proceeds, exhausting host memory and crashing the process. The absence of input validation at the metadata-parsing boundary is the singular root cause.
Know when Openssl Encrypt 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:N/VI:N/VA:H/SC:N/SI:N/SA:N
Network-reachable via crafted file submission requiring no privileges or user interaction; impact is pure availability loss via process crash with no scope change.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
openssl_encrypt before 1.4.9 fails to validate KDF cost parameters in encrypted file metadata and keystore headers, allowing attackers to trigger unbounded memory allocation. Attackers can craft malicious encrypted files declaring arbitrarily large Argon2, scrypt, or balloon KDF parameters to exhaust system memory and crash the process without authentication.
Executive ViewAI
jahlives/openssl_encrypt before version 1.4.9 allows unauthenticated remote denial of service attacks through uncontrolled memory allocation when processing encrypted files with oversized key derivation function parameters. Any application accepting untrusted encrypted input or keystores is immediately at risk without requiring user interaction or credentials. Organizations using this library face immediate availability exposure with no vendor patch currently available.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Validate encrypted input to reject unusually large KDF cost parameters before library processing; (2) Enforce process-level memory limits via containers or systemd resource controls to prevent system-wide crashes; (3) Restrict network and application access to encrypted file processing functions using network policies and application-level gating; (4) Deploy monitoring on affected services to alert on unexpected memory consumption and unexpected terminations; (5) Sandbox vulnerable library functions using seccomp or AppArmor profiles if architecture permits.
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
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
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
EUVD-2026-67071
GHSA-9pph-4h37-568j
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB