Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessWrite malicious crypt_settings.json to victim's CWD
-
DeliveryVictim launches Tk GUI from that directory
-
ExploitSettingsTab loads attacker-controlled KDF config (sha256:1)
-
ExecutionWeak-KDF preflight bypassed silently
-
PersistEncryption produces single-round SHA-256-derived ciphertext
-
ImpactAttacker brute-forces ciphertext offline to recover plaintext
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V13 - Configuration Search path verification
|
| Exploitation Conditions | Exploitation requires two simultaneous conditions: (1) the victim must use the legacy Tk GUI interface - specifically the SettingsTab, which invokes the vulnerable CONFIG_FILE resolution in crypt_settings.py at line 84 - rather than the CLI or programmatic API; and (2) the attacker must have pre-positioned a malicious crypt_settings.json in the specific directory from which the victim launches the application (the process CWD at launch time). The flaw does not trigger in non-GUI usage. Limiting factors include: the attacker requires local filesystem write access to a directory the victim uses as CWD, the victim must actively use the Tk GUI for an encryption operation during that session, and no special configuration beyond launching the GUI from the compromised directory is needed to trigger the downgrade. |
| Impact | The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N, score 8.7) is materially inconsistent with the described attack mechanism, which requires the attacker to pre-position a file on the local filesystem in the victim's CWD - an operation that is local, not network-reachable. A more accurate vector would use AV:L and UI:A (victim must actively launch the GUI from the compromised directory); the supplied vector should not be used as the basis for prioritization. No EPSS data is available to quantify exploitation probability. The CVE is not listed in CISA KEV and no public exploit code has been identified. Real-world impact is limited to users of the legacy Tk GUI who both operate from a directory an attacker can write to and perform encryption during that session; CLI or programmatic use of the library is entirely unaffected. When exploitation conditions are met, however, the confidentiality impact is severe: weakened ciphertext is vulnerable to near-instant offline attack. |
| Exploit ScenarioDerived | An attacker with write access to a directory the victim commonly uses as CWD - such as a shared Downloads folder or a directory created by extracting an archive - plants a crypt_settings.json specifying sha256:1 with memory-hard KDFs disabled. When the victim launches the Tk GUI from that directory, the application silently loads attacker-controlled KDF settings, bypasses the weak-KDF preflight, and produces ciphertext derived from a single SHA-256 round. The attacker then obtains the ciphertext and recovers plaintext via near-instant offline brute-force. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 27, 2026
Key derivation function downgrade in openssl-encrypt pip package (versions ≤ 1.4.8) allows an attacker who pre-positions a crafted crypt_settings.json in the victim's process launch directory to silently collapse encryption to a single SHA-256 round, rendering resulting ciphertext trivially brute-forceable offline. A regression at line 84 of crypt_settings.py reassigns CONFIG_FILE from the intended absolute home-directory path to a bare relative filename, causing the legacy Tk GUI's SettingsTab to consume attacker-controlled KDF parameters instead of the user's legitimate settings. No public exploit is identified at time of analysis; vendor-released patch is available as version 1.4.9.
RemediationAI
Upgrade openssl-encrypt to version 1.4.9, which corrects the CONFIG_FILE reassignment in crypt_settings.py to restore absolute home-directory path resolution, per the vendor advisory at https://github.com/jahlives/openssl_encrypt/security/advisories/GHSA-7j2v-g84w-m75v and the VulnCheck advisory at https://www.vulncheck.com/advisories/openssl-encrypt-before-1.4.9-kdf-downgrade-via-cwd-relative-configuration. If immediate upgrade is not possible, users should only launch the Tk GUI from their own home directory or a directory with strict write permissions excluding all other users, preventing an attacker from planting a malicious crypt_settings.json; the trade-off is that this requires user discipline and cannot be enforced programmatically without code changes. Organizations can additionally audit filesystem permissions on directories commonly used as CWD for this application and alert on unexpected creation of crypt_settings.json outside the user home directory.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-426 (Untrusted Search Path): Python resolves relative filenames against the process current working directory (CWD), so the reassignment of CONFIG_FILE from '~/.crypt_settings.json' to the bare string 'crypt_settings.json' in crypt_settings.py at line 84 means any crypt_settings.json file present in the CWD at launch time is consumed instead of the authoritative per-user configuration. The Tk GUI's SettingsTab, which reads and writes KDF parameters such as algorithm selection, iteration count, and memory-hard KDF flags, is the sole affected code path. An attacker-crafted file specifying sha256:1 disables Argon2, bcrypt, and similar memory-hard derivation functions, bypassing the built-in weak-KDF preflight guard and reducing computational cost to near zero. The affected product is identified by CPE cpe:2.3:a:jahlives:openssl_encrypt:*:*:*:*:*:*:*:* across all releases through 1.4.8.
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
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
Attacker must write a file to the local filesystem CWD (AV:L) and victim must launch the GUI from that directory (UI:R), yielding ciphertext fully vulnerable to offline attack (C:H) and silent KDF config manipulation (I:L).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
openssl_encrypt (pip package openssl-encrypt) versions <= 1.4.8 contain a CWD-relative configuration file resolution flaw in crypt_settings.py, where CONFIG_FILE (originally the absolute per-user path ~/.crypt_settings.json) is reassigned at line 84 to the bare relative name 'crypt_settings.json'. As a result, the legacy Tk GUI's SettingsTab reads and writes KDF settings from crypt_settings.json in the process launch (current working) directory instead of the user's home directory. An attacker who plants a malicious crypt_settings.json (e.g. sha256:1 with all memory-hard KDFs disabled) can silently downgrade encryption performed in that GUI session to roughly one hash round, bypassing the weak-KDF preflight and enabling offline brute-force attacks against the resulting ciphertext. Fixed in 1.4.9.
Articles & Coverage 1
Executive ViewAI
The openssl-encrypt Python library (versions ≤1.4.8) contains a configuration path regression that enables attackers with local file system access to downgrade encryption security to a single SHA-256 round, rendering encrypted data vulnerable to offline brute-force attacks. Any organization using this package to protect sensitive data faces immediate confidentiality risk.
Apply vendor patch.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
The (1) TLS and (2) DTLS implementations in OpenSSL 1.0.1 before 1.0.1g do not properly handle Heartbeat Extension packe
In order to decrypt SM2 encrypted data an application is expected to call the API function EVP_PKEY_decrypt(). Rated cri
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
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
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
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
In addition to the c_rehash shell command injection identified in CVE-2022-1292, further circumstances where the c_rehas
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
The SSL protocol 3.0, as used in OpenSSL through 1.0.1i and other products, uses nondeterministic CBC padding, which mak
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
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
A buffer overrun can be triggered in X.509 certificate verification, specifically in name constraint checking. Rated hig
EUVD-2026-67053
GHSA-7wp9-wpj9-m7pm
NVD
CVE.org
EPSS
Exploit-DB