Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAccess or exfiltrate wrapped pepper blob storage
-
DeliveryExtract per-user pepper blobs
-
ExploitPrecompute single unsalted SHA-256 or HKDF-SHA256 dictionary table
-
ExecutionRun GPU-accelerated offline lookup against all blobs
-
ImpactRecover plaintext passwords fleet-wide
Vulnerability Assessment
| Weakness |
CWE
|
| Exploitation Conditions | The attacker must first obtain one or more wrapped pepper blobs from the target system - via data breach, exposed backup, misconfigured object storage, or another read-access vector. Once blobs are in hand, the attack is entirely offline and requires no further access to the target environment. The absence of per-user salting means no per-user precomputation is required: a single dictionary table attacks all users simultaneously. Limiting factors include the requirement to obtain the blob files (read access to storage or a prior breach is required) and the fact that users with long, high-entropy passwords may resist dictionary and rainbow-table attacks even under this weak derivation. The CVSS 4.0 vector (PR:N/AC:L) reflects the assumption that blob access is achievable without privilege, which holds in breach or misconfiguration scenarios but not in hardened deployments where storage is strictly access-controlled. |
| Impact | The CVSS 4.0 score of 8.7 with vector AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N is assessed as credible but conditional: the network vector and zero-privilege rating assume that wrapped pepper blobs are accessible without authentication - plausible in scenarios such as data breaches, exposed object storage, backup compromise, or insecure API endpoints, but not universally true. The high confidentiality impact (VC:H) reflects real-world password recovery across an entire user fleet from a single precomputed attack, which is a severe, cascading consequence. Integrity and availability impacts are correctly rated N. EPSS data was not included in the source intelligence; given no KEV listing and no known POC, opportunistic mass exploitation is not currently evidenced, but the offline nature of the attack means detection is essentially impossible once blobs are obtained. The primary real-world risk is a data-breach amplifier: organizations where blobs are exfiltrated face complete password compromise for all users, not just the exfiltrated subset. The absence of salting makes this categorically worse than ordinary hash-cracking - a single attack artifacts decrypts everyone. |
| Exploit ScenarioDerived | An attacker who exfiltrates a backup archive or gains read access to the application's data store obtains a collection of wrapped pepper blobs for all users. Because the wrap key is derived from the password without a salt, the attacker precomputes a single SHA-256 or HKDF-SHA256 dictionary table covering common passwords and then tests it against every user's blob simultaneously using GPU hardware at billions of guesses per second, recovering passwords for a significant fraction of the user population in hours. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 27, 2026
Weak pepper wrap key derivation in openssl_encrypt (versions before 1.4.9) allows fleet-wide offline password recovery against all users from a single precomputed dictionary table. The library derives its remote-pepper wrap key using unsalted HKDF-SHA256 or bare SHA-256 of the password, producing identical wrap keys across every user and every file - eliminating the per-user randomness that salting is designed to provide. Any attacker who obtains wrapped pepper blobs can precompute one lookup table and attack the entire user population at GPU-limited speed. No public exploit code has been identified at time of analysis, and this CVE is not listed in the CISA KEV catalog.
RemediationAI
Upgrade to openssl_encrypt version 1.4.9 or later, which addresses the unsalted key derivation flaw according to the vendor's GitHub security advisory at https://github.com/jahlives/openssl_encrypt/security/advisories/GHSA-3v63-778v-3mvp. After upgrading, any existing wrapped pepper blobs derived under the old scheme should be considered potentially compromised if there is any possibility of prior blob exposure; initiate a forced password reset cycle for all affected users in that case. If an immediate upgrade is not possible, restrict access to any storage path or API surface where wrapped pepper blobs are retrievable - this does not fix the derivation flaw but eliminates the attacker's ability to obtain the blobs needed for precomputed attacks. Audit backup systems, object storage buckets, and export APIs that may expose blob data as a compensating control, but note that access restriction alone does not remediate the underlying cryptographic weakness.
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 product is the jahlives/openssl_encrypt PHP encryption library (CPE: cpe:2.3:a:jahlives:openssl_encrypt:*:*:*:*:*:*:*:*). A 'remote pepper' is a server-side secret mixed into password hashing to harden stored credentials even if the password database is breached; a 'pepper wrap key' is the key used to protect that pepper value. CWE-916 (Use of Password Hash With Insufficient Computational Effort) applies here because the key derivation uses unsalted HKDF-SHA256 or raw SHA-256 - both fast, purpose-built for throughput rather than key stretching - and critically, neither incorporates a per-user random salt. The result is a deterministic mapping from password to wrap key that is identical for every user, collapsing what should be user-independent protection into a single point of failure. This enables precomputed dictionary or rainbow-table attacks at hardware speed, eliminating the computational cost that proper salted KDFs (Argon2, bcrypt, scrypt, PBKDF2 with high iterations) are designed to impose.
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:H/VI:N/VA:N/SC:N/SI:N/SA:N
Blob access assumed network-reachable without auth (PR:N, AV:N); offline attack requires no interaction; only confidentiality is impacted.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
openssl_encrypt versions before 1.4.9 derive the remote-pepper wrap key using unsalted HKDF-SHA256 or bare SHA-256 of the password, allowing identical keys across all users and files. Attackers with access to wrapped pepper blobs can precompute a single dictionary table and perform fleet-wide offline password guessing at hardware speed to recover user passwords.
Executive ViewAI
openssl_encrypt versions before 1.4.9 use unsalted key derivation that generates identical encryption keys across all users, enabling attackers with access to encrypted password data to compromise the entire user fleet through offline dictionary attacks. This cryptographic weakness eliminates per-user randomness that protects against precomputed attacks, creating enterprise-wide credential risk if encrypted password blobs are obtained.
No vendor-released patch identified at time of analysis. Interim mitigations include: restricting access to encrypted password storage via network segmentation and role-based access controls, implementing continuous monitoring and alerting for unauthorized attempts to access password data, and accelerating upgrade planning to version 1.4.9 when released. Consider disabling openssl_encrypt in favor of alternative cryptographic libraries using properly salted key derivation if timeline to patch is uncertain.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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-67045
GHSA-xg65-9m9r-rm73
NVD
CVE.org
EPSS
Exploit-DB