Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft QR image with oversized total field
-
DeliverySubmit QR to exposed endpoint
-
ExploitLibrary parses JSON payload without validation
-
ExecutionUnbounded memory allocation triggered
-
PersistHost memory exhausted
-
ImpactApplication process crashes with OOM
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory allocation limits
|
| Exploitation Conditions | No special conditions are required beyond the ability to submit a QR image to an application using the affected openssl_encrypt library (before version 1.4.9). Exploitation is limited by the following factors: (1) the target application must use openssl_encrypt specifically for QR code processing - applications using the library only for encryption without QR ingestion are not affected; (2) the crafted QR must be accepted by the application's QR parsing code path before being passed to the vulnerable validation logic; (3) host-level memory limits (PHP memory_limit, OS ulimits, container cgroup constraints) may prevent full memory exhaustion and instead cause a recoverable process-level crash rather than host-wide OOM. No authentication, specific configuration, or non-default deployment mode is required - the vulnerability is reachable against any default deployment that processes QR input. |
| Impact | The CVSS 4.0 score of 8.7 (AV:N/AC:L/AT:N/PR:N/UI:N/VA:H) accurately reflects the low friction of exploitation: no authentication, no special conditions, and no user interaction are required. The impact is limited strictly to availability - confidentiality and integrity are unaffected (VC:N/VI:N/VA:H/SC:N/SI:N/SA:N) - which limits the blast radius compared to code-execution flaws of similar CVSS score. EPSS data was not provided in the input; given the trivial attack conditions but niche product footprint, real-world exploitation risk is likely low in absolute terms. No CISA KEV listing exists and no POC has been identified, further supporting a lower operational priority in most environments. The primary real-world risk is concentrated in applications that expose QR ingestion endpoints publicly, such as event ticketing or logistics platforms. SSVC signals: exploitation status unconfirmed, attack is automatable (AV:N/AC:L/PR:N), technical impact is partial (DoS only, no code execution). |
| Exploit ScenarioDerived | An attacker targeting an internet-facing ticketing or logistics application that uses openssl_encrypt to validate QR codes submits a crafted QR image in which the embedded JSON payload contains an astronomically large 'total' value (e.g., 2^63). The library reads this value and attempts to allocate a corresponding memory range without validation, causing the PHP worker or host process to exhaust available RAM, crashing the service or triggering OOM-killer termination across co-hosted services. No public exploit code has been identified, but the attack requires only the ability to craft a QR image, which is trivially achievable with standard libraries. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 27, 2026
Uncontrolled memory allocation in the jahlives openssl_encrypt PHP library (versions before 1.4.9) exposes any application processing QR codes to remote denial of service. The library fails to validate the 'total' field within QR JSON payloads before allocating memory for range materialization, allowing an unauthenticated attacker to supply a crafted QR image containing an arbitrarily large 'total' value and exhaust host memory. No public exploit code or CISA KEV listing has been identified at time of analysis, but the attack is low-complexity and requires no authentication, making automated exploitation plausible against any internet-facing service that accepts QR input.
RemediationAI
Upgrade to openssl_encrypt version 1.4.9, which is the vendor-confirmed patched release per the advisory at https://github.com/jahlives/openssl_encrypt/security/advisories/GHSA-r23m-gf2m-8www and the VulnCheck report at https://www.vulncheck.com/advisories/openssl-encrypt-before-1.4.9-denial-of-service-via-qr-total-field. If immediate patching is not possible, the most actionable compensating controls are: (1) enforce a maximum payload size limit at the web or application layer before QR image data reaches the library, rejecting requests whose QR JSON 'total' field exceeds a defined threshold - this eliminates the attack surface without requiring a code change; (2) apply memory limits to the PHP process or worker handling QR ingestion (e.g., via PHP's memory_limit directive or cgroup constraints) to cap the blast radius of a successful OOM trigger, though this may cause process crashes rather than graceful degradation; (3) restrict QR ingestion endpoints to authenticated or internal users if the feature allows it. None of these workarounds fix the underlying validation flaw and should be treated as temporary measures only.
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 component is the openssl_encrypt library (CPE: cpe:2.3:a:jahlives:openssl_encrypt:*:*:*:*:*:*:*:*) - a PHP library authored by 'jahlives' that, despite its name, is distinct from the standard OpenSSL cryptographic library. The library includes QR code processing functionality that parses JSON payloads embedded in QR images; within these payloads, a 'total' field is used to control range materialization. CWE-789 (Uncontrolled Memory Allocation) describes the root cause: the library reads a caller-supplied numeric value and directly uses it to size a memory allocation without first enforcing a reasonable upper bound or checking available system memory. This is a classic input-validation failure at a trust boundary - the 'total' field originates from attacker-controlled image data and is never sanitized before use.
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-accessible QR ingestion with no auth or interaction required; impact is availability-only 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 the total field from QR JSON payloads before materializing ranges. Attackers can supply crafted QR images with extremely large total values to trigger unbounded memory allocation and cause denial of service through out-of-memory conditions.
Executive ViewAI
The jahlives openssl_encrypt PHP library (versions before 1.4.9) contains an uncontrolled memory allocation vulnerability that enables remote denial of service against any internet-facing application processing QR codes. Organizations running this library face immediate risk of service unavailability through memory exhaustion. This is particularly critical for systems handling user-supplied QR input such as ticketing, payment, or identity verification platforms.
Implement strict input validation rejecting QR payloads with 'total' field values exceeding documented safe thresholds; configure memory limits at application and operating system kernel level to constrain maximum allocation; deploy rate limiting on QR processing endpoints; disable QR processing functionality where not business-critical; maintain monitoring for memory spikes and service crashes indicating potential exploitation.
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-67049
GHSA-m9c9-3x53-3cf8
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB