Skip to main content

openssl-encrypt CVE-2026-81705

| EUVDEUVD-2026-67061 HIGH
Insertion of Sensitive Information into Log File (CWE-532)
2026-08-27 VulnCheck GHSA-qvh5-87jf-4g7p
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Target runs openssl-encrypt --debug with bundled/abbreviated password arg
  2. Delivery
    Sanitizer fails to match non-canonical argument form
  3. Exploit
    Cleartext password written to stderr debug dump
  4. Execution
    Debug output captured in CI log or persistent log file
  5. Persist
    Attacker reads log without special privileges
  6. Impact
    Attacker recovers cleartext encryption password

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A09:2025 - Security Logging & Alerting Failures
ASVS 5.0
V16 - Security Logging and Error Handling Log data sanitization
Exploitation Conditions

Two conditions must both be true for exploitation: (1) the user invokes openssl-encrypt with the --debug flag enabled, and (2) the file password is supplied via a bundled short-option spelling (e.g., -apPassword, where the password immediately follows -p without a space as part of a bundled option token) or an abbreviated long-option spelling (e.g., --passw=Password or --pass=Password accepted as prefixes of --password). The attacker must additionally have read access to the debug output - via public CI job log, terminal scrollback, merged 2>&1 redirect to a shared file, or the GUI's persistent debug log. Passwords supplied via the exact canonical forms --password=value or -p value are correctly redacted and are not exposed. Deployments that do not use --debug mode are entirely unaffected. The vulnerability does not exist in default invocations without the debug flag.

Impact

The CVSS 4.0 score of 8.7 (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H) reflects the scenario in which debug output is aggregated into network-accessible logs - most critically, public CI pipeline job logs where any internet user can read the output without authentication. In that context the score is defensible: no special conditions are imposed on the attacker beyond the target having run the tool with --debug and a vulnerable argument form. However, in environments where log access is restricted (private CI, local-only stderr), effective exploitability is substantially lower and closer to an AV:L/PR:L profile. EPSS data is not provided. The vulnerability is not listed in the CISA KEV catalog, and no public exploit code has been identified at time of analysis. The primary real-world risk is credential exposure in CI/CD pipelines encrypting artifacts or secrets with openssl-encrypt while debug logging is active. Because the tool is a niche wrapper with limited enterprise footprint, the population of affected deployments is small, though within that population the impact of a recovered encryption password is full confidentiality compromise of the protected files.

Exploit ScenarioDerived

An attacker monitoring the public job logs of a GitHub Actions pipeline sees that openssl-encrypt is invoked with --debug and the argument -apS3cr3tKey (a bundled short-option supplying the password inline). Because the sanitizer does not recognize this form, the string S3cr3tKey appears in cleartext in the stderr debug dump captured in the log. The attacker records the password and uses it to decrypt any intercepted or publicly accessible encrypted output artifacts from the same pipeline. No exploit tooling is required beyond log access and basic argument parsing knowledge.

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

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

Alert me

AnalysisAIv1 – Aug 27, 2026

Cleartext password leakage in openssl-encrypt before 1.4.9 exposes file encryption credentials in debug output when passwords are supplied via bundled short-option or abbreviated long-option argument forms. The tool's sanitizer, which is designed to redact sensitive arguments before writing the argv dump to stderr, fails to recognize spellings like -apHunter2 (bundled short option) or --passw (abbreviated long option), causing the raw password to appear in terminal scrollback, CI job logs, and persistent GUI debug logs. No public exploit identified at time of analysis; the vulnerability is trivially exploitable by any party with read access to the affected log output.

RemediationAI

Upgrade to openssl-encrypt version 1.4.9 or later, which addresses the sanitizer gap per GitHub Security Advisory GHSA-jgvm-7jxv-cgcc (https://github.com/jahlives/openssl_encrypt/security/advisories/GHSA-jgvm-7jxv-cgcc). Before patching, enforce the use of only canonical argument forms (--password=value or -p value) when --debug mode is active, as these forms are correctly redacted by the existing sanitizer - note that this is an operational control requiring pipeline discipline and cannot be enforced by the tool itself in its vulnerable state. Alternatively, disable --debug entirely in any environment where log output is not strictly access-controlled; this trades troubleshooting capability for credential safety. Restrict stderr output and CI log visibility to authorized personnel to reduce the exposure window regardless of patch status. Immediately rotate any encryption passwords that may have been exposed in past CI job logs, terminal scrollback, or GUI debug log files.

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 a shell-level wrapper around the OpenSSL CLI, maintained by jahlives on GitHub. It provides a --debug flag that dumps the full argv array to stderr for troubleshooting purposes. The sanitizer responsible for redacting sensitive values before that dump is written handles only three argument forms: exact option names (e.g., --password), --option=value notation, and tokens whose string representation begins with -p. CWE-532 (Insertion of Sensitive Information into Log File) precisely characterizes the root cause: the logging path fails to sanitize all semantically equivalent representations of a sensitive option. POSIX-style short-option bundling allows multiple single-character flags to be concatenated (e.g., -ap where -a is one flag and -p introduces the password inline), and many option-parsing libraries support abbreviated long-option prefix matching, meaning --passw is accepted as equivalent to --password. Neither of these forms is recognized by the sanitizer, so the password token reaches the stderr dump unredacted.

Know when OpenSSL 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

Network vector applies because CI job logs are the primary risk surface and may be publicly readable; no privileges required to read public logs; confidentiality only.

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:51 cve.org
HIGH 8.7

DescriptionCVE.org

openssl-encrypt before 1.4.9 fails to redact the file password in its --debug argv dump when the password is supplied via bundled short-option spellings (e.g. -apHunter2) or abbreviated long-option spellings (e.g. --passw). The sanitizer only recognized exact option names, --option=value forms, and tokens starting with -p, so these spellings bypass the redaction chokepoint and the cleartext password is written to stderr. Anyone with access to that output (terminal scrollback, merged 2>&1 output, CI job logs, or the GUI's persistent debug log) can recover the password.

Executive ViewAI

Why It Matters

openssl-encrypt versions before 1.4.9 leak plaintext encryption passwords into debug logs and CI outputs due to a sanitizer bypass affecting abbreviated argument forms. No public exploit identified at time of analysis, but the vulnerability is trivially exploitable by any party with read access to affected logs, creating immediate risk for credential and file access compromise at any organization using this tool.

Business Impact: High
Compensating Controls

Disable debug output and verbose logging flags in all openssl-encrypt invocations; restrict file system and CI log access to only authorized personnel; rotate encryption keys and passwords that may have been exposed in logs; audit historical log access for suspicious activity; implement data loss prevention controls around encrypted file stores; consider discontinuing use of openssl-encrypt pending patch availability.

Threat Intelligence Overview

EPSS Score
0.3%
Top 74% exploitable
Prevalence
Rare
niche GitHub wrapper project, negligible 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.3%
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

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2014-0160 HIGH POC
7.5 Apr 07

The (1) TLS and (2) DTLS implementations in OpenSSL 1.0.1 before 1.0.1g do not properly handle Heartbeat Extension packe

CVE-2021-3711 CRITICAL POC
9.8 Aug 24

In order to decrypt SM2 encrypted data an application is expected to call the API function EVP_PKEY_decrypt(). Rated cri

CVE-2014-0195 MEDIUM POC
6.8 Jun 05

The dtls1_reassemble_fragment function in d1_both.c in OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2016-0800 MEDIUM POC
5.9 Mar 01

The SSLv2 protocol, as used in OpenSSL before 1.0.1s and 1.0.2 before 1.0.2g and other products, requires a server to se

CVE-2015-0204 MEDIUM POC
4.3 Jan 09

The ssl3_get_key_exchange function in s3_clnt.c in OpenSSL before 0.9.8zd, 1.0.0 before 1.0.0p, and 1.0.1 before 1.0.1k

CVE-2022-2068 HIGH
7.3 Jun 21

In addition to the c_rehash shell command injection identified in CVE-2022-1292, further circumstances where the c_rehas

CVE-2015-4000 LOW POC
3.7 May 21

The TLS protocol 1.2 and earlier, when a DHE_EXPORT ciphersuite is enabled on a server but not on a client, does not pro

CVE-2014-3566 LOW POC
3.4 Oct 15

The SSL protocol 3.0, as used in OpenSSL through 1.0.1i and other products, uses nondeterministic CBC padding, which mak

CVE-2016-2107 MEDIUM POC
5.9 May 05

The AES-NI implementation in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h does not consider memory allocation during a

CVE-2015-1793 MEDIUM POC
6.5 Jul 09

The X509_verify_cert function in crypto/x509/x509_vfy.c in OpenSSL 1.0.1n, 1.0.1o, 1.0.2b, and 1.0.2c does not properly

CVE-2022-3602 HIGH
7.5 Nov 01

A buffer overrun can be triggered in X.509 certificate verification, specifically in name constraint checking. Rated hig

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