Impact
The vulnerability in openssl_encrypt before 1.4.0 resides in the pqc.py module where a key encapsulation mechanism (KEM) decapsulation failure is handled incorrectly. When the decapsulation fails, the implementation silently defaults to a simulation mode, producing a deterministic shared secret that depends only on 16 bytes of the private key and the encapsulated key data that are publicly known. This flaw allows an attacker who can obtain just 16 bytes of the private key to compute the shared secret and decrypt all ciphertexts encrypted with that key, as the fallback to simulation mode occurs on any KEM failure without generating an error. The weakness is a failure to properly detect and handle failures in cryptographic primitives, identified by CWE-391.
Affected Systems
This flaw affects all installations of the openssl_encrypt library with a version earlier than 1.4.0. The product is maintained by the jahlives:openssl_encrypt vendor. No granular version sub‑range is listed in the advisory; therefore any deployment running a pre‑1.4.0 release is considered vulnerable.
Risk and Exploitability
The CVSS score of 9.3 indicates a critical severity, while the EPSS score is unavailable, implying unknown exploitation probability, yet the absence of a KEV listing does not diminish the risk to affected users. The attack vector is likely remote, as the decapsulation step can be triggered by any attempt to decrypt a message containing an invalid or malicious encapsulated key. An attacker only needs a small portion of the private key and can then recover a shared secret for all communications using that key, leading to complete compromise of data confidentiality.
OpenCVE Enrichment