Skip to main content

openssl_encrypt EUVDEUVD-2026-67044

| CVE-2026-81688 HIGH
Missing Encryption of Sensitive Data (CWE-311)
2026-08-27 VulnCheck GHSA-pr7j-w8v9-qr7r
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain encrypted file via network intercept or storage leak
  2. Delivery
    Open file in any hex or text tool
  3. Exploit
    Extract unkeyed SHA-256 hash from cleartext header
  4. Execution
    Hash candidate plaintexts offline
  5. Impact
    Compare digests to confirm original plaintext content

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V14 - Data Protection Encryption of sensitive data
Exploitation Conditions

The attacker must obtain a physical or logical copy of at least one encrypted file produced by openssl_encrypt prior to version 1.4.9 - this is the sole prerequisite for extracting the cleartext header hash. No authentication, network-level access to a running service, or special privilege is required beyond file possession. The oracle is most effective against low-entropy or predictable plaintexts; high-entropy random content substantially increases offline brute-force cost. Exploitation is strictly passive information disclosure: the attacker cannot decrypt file contents, modify ciphertext undetected, or execute code. Files never exposed to unauthorized parties are not exploitable, as the flaw is a property of the file format rather than a remotely accessible service endpoint.

Impact

The CVSS 4.0 score of 8.7 (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H) reflects high confidentiality impact once an attacker has obtained an encrypted file, and is consistent with the passive, zero-prerequisite nature of hash extraction from the file header. The absence of EPSS data and a CISA KEV listing means exploitation frequency cannot be quantified from available signals; no public exploit code has been reported. Real-world risk is highest in deployment patterns where openssl_encrypt-protected files transit potentially hostile networks or are stored on shared infrastructure - scenarios where an adversary can passively collect encrypted files without breaking the underlying cipher. The oracle is most effective against low-entropy plaintexts (short messages, templated documents, known file formats), substantially reducing the brute-force search space for offline confirmation. The vulnerability does not enable decryption, code execution, or integrity compromise, which tempers the urgency compared to a full compromise vector, but the confidentiality impact is genuine and unmitigated by password strength alone.

Exploit ScenarioDerived

An attacker who intercepts an encrypted file in transit - or retrieves one from a misconfigured storage location - opens the file header and reads the embedded SHA-256 hash without needing the encryption password. The attacker then hashes candidate plaintexts (e.g., known document templates, short messages, or dictionary words) and compares each digest against the extracted header value, confirming the original content when a match is found. Across a corpus of collected files, matching header hashes also reveal which documents are identical, enabling content-based correlation even across separate encryption sessions.

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

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

Alert me

AnalysisAIv1 – Aug 27, 2026

openssl_encrypt by jahlives (versions before 1.4.9) embeds an unkeyed SHA-256 digest of each plaintext document into the encrypted file's cleartext header, creating a passive plaintext-confirmation oracle. Any party who possesses an encrypted file - including unauthorized recipients of intercepted or leaked archives - can extract this hash without the encryption password and use it to verify guessed or known plaintexts via offline dictionary attacks. Additionally, because the hash is unkeyed and deterministic, identical source documents encrypted separately under different passwords produce matching header hashes, enabling cross-file correlation and fingerprinting that undermines the confidentiality guarantees users expect from file encryption. No public exploit code has been identified at time of analysis, and this vulnerability does not appear in CISA KEV.

RemediationAI

Upgrade to openssl_encrypt version 1.4.9 or later, which removes the unkeyed SHA-256 hash from the file header; this is confirmed as the fix in GitHub Security Advisory GHSA-7c3q-gp4v-q29q (https://github.com/jahlives/openssl_encrypt/security/advisories/GHSA-7c3q-gp4v-q29q). Upgrading prevents future files from carrying the oracle, but previously encrypted files will permanently retain the vulnerable header - organizations should re-encrypt high-sensitivity archives using the patched version if those files have been exposed to potentially untrusted parties. No configuration flag or runtime workaround exists to suppress the header write in affected versions, since the hash is produced unconditionally during encryption. Restricting access to the encrypted file store at the filesystem or network level reduces the window for passive collection but does not eliminate the flaw in files already distributed.

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 is a PHP-based file encryption utility authored by jahlives (CPE: cpe:2.3:a:jahlives:openssl_encrypt:*:*:*:*:*:*:*:*) that wraps OpenSSL to provide symmetric file-level encryption. The root cause maps to CWE-311 (Missing Encryption of Sensitive Data): the tool writes a SHA-256 digest of the original plaintext directly into the file header in cleartext form, without any key derivation, HMAC keying, or encryption applied to that digest. Because the hash is unkeyed, it functions as a deterministic fingerprint rather than an authentication tag - it reveals nothing about the key but reveals structural information about the plaintext. This is a cryptographic design flaw rather than an implementation bug: the hash oracle is intentionally written by the encryption routine itself, so all files produced by affected versions carry the leaking header regardless of the password strength used.

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:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Encrypted files are network-distributed requiring no credentials to obtain; only confidentiality is impacted via the plaintext hash oracle.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/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
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
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:50 cve.org
HIGH 8.7

DescriptionCVE.org

openssl_encrypt versions before 1.4.9 store an unkeyed SHA-256 hash of the plaintext in the cleartext file header metadata. Attackers can read this hash without the password to confirm guessed plaintexts offline or fingerprint identical plaintexts across separately-encrypted files.

Executive ViewAI

Why It Matters

openssl_encrypt (versions <1.4.9) contains a design flaw that leaks confirmable plaintext metadata in every encrypted file, allowing unauthorized parties with access to files to verify guessed passwords offline and correlate encrypted files across your systems. Organizations using this library for sensitive data protection-including archives shared via email, stored in backups, or transmitted over untrusted networks-face elevated confidentiality risk from passive attacks that bypass encryption keys entirely. With no available vendor patch, immediate migration to secure alternatives is critical.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: employ authenticated encryption modes (AES-GCM, ChaCha20-Poly1305) for all new and re-encrypted files instead of openssl_encrypt; enforce principle of least privilege on encrypted file access; implement comprehensive audit logging for encrypted file handling; maintain strict separation between encryption keys and encrypted data; consider air-gapping storage of highly sensitive encrypted archives from networked systems.

Threat Intelligence Overview

EPSS Score
0.2%
Top 90% exploitable
Prevalence
Low
niche PHP file encryption utility, limited enterprise footprint
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.2%
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

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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