Skip to main content

openssl_encrypt CVE-2026-81721

| EUVDEUVD-2026-67071 HIGH
Uncontrolled Resource Consumption (CWE-400)
2026-08-27 VulnCheck GHSA-9pph-4h37-568j
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify application endpoint accepting encrypted file input
  2. Delivery
    Craft encrypted file with extreme Argon2 or scrypt memory cost parameter
  3. Exploit
    Submit crafted file to endpoint (no authentication required)
  4. Execution
    Library parses KDF cost parameters without validation
  5. Persist
    Unbounded memory allocation exhausts host RAM
  6. Impact
    Process 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

openssl_encrypt 0 <1.4.9

Affected Packages

pypi openssl-encrypt fix: 1.4.9

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

Vendor (VulnCheck) PRIMARY 8.7 HIGH
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
vuln.today AI 7.5 HIGH

Network-reachable via crafted file submission requiring no privileges or user interaction; impact is pure availability loss via process crash with no scope change.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Aug 27, 2026 - 18:02 EUVD
CVE Published
Aug 27, 2026 - 14:51 cve.org
HIGH 8.7

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.4%
Top 68% exploitable
Prevalence
Low
niche open-source PHP encryption library, limited enterprise deployment
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2026-74872 CRITICAL
9.3 Aug 17

Arbitrary native code execution in the jahlives openssl_encrypt Python package (all versions before 1.4.0) arises from i

CVE-2026-81707 CRITICAL
9.3 Aug 27

Fingerprint-verification spoofing in jahlives openssl_encrypt before 1.4.9 lets attackers embed ANSI escape sequences in

CVE-2026-74895 CRITICAL
9.3 Aug 17

Sandbox escape in the openssl_encrypt Python library (jahlives) before 1.4.0 allows attacker-supplied plugins to run wit

CVE-2026-74886 CRITICAL
9.3 Aug 17

Arbitrary code execution in jahlives openssl_encrypt before 1.4.0 stems from an inconsistent sandbox: the runtime Plugin

CVE-2026-74894 CRITICAL
9.3 Aug 17

Authentication bypass in the jahlives openssl_encrypt library (all versions before 1.4.0) lets remote unauthenticated at

CVE-2026-74878 CRITICAL
9.3 Aug 17

Authentication brute-force protection can be bypassed in jahlives openssl_encrypt before 1.4.0 because the TOTP rate lim

CVE-2026-74899 CRITICAL
9.3 Aug 17

Sandbox escape in the openssl_encrypt Python library (jahlives) before 1.4.0 lets attacker-supplied plugin code break ou

CVE-2026-74900 CRITICAL
9.3 Aug 17

Cryptographic shared-secret disclosure in the openssl_encrypt Python library (maintainer 'jahlives') before 1.4.0 lets a

CVE-2026-74896 CRITICAL
9.3 Aug 17

Sandbox escape leading to remote code execution affects openssl_encrypt (the jahlives Python package) in all versions be

CVE-2026-81719 CRITICAL
9.3 Aug 27

Arbitrary code execution in openssl_encrypt (the jahlives Python encryption utility) before 1.4.9 allows an attacker-sup

CVE-2026-81701 CRITICAL
9.3 Aug 27

Arbitrary code execution in jahlives openssl_encrypt before 1.4.9 stems from a flawed plugin trust model that uses a den

CVE-2026-74880 CRITICAL
9.3 Aug 17

Sensitive-token exposure in openssl_encrypt (the jahlives Python package, pip 'openssl-encrypt') before 1.4.0 stems from

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy