CVE-2026-81697: openssl_encrypt before 1.4.9 KDF Downgrade via CWD-relative Configuration

Published Aug 27, 2026
·
Updated

opensslencrypt (pip package openssl-encrypt) versions <= 1.4.8 contain a CWD-relative configuration file resolution flaw in cryptsettings.py, where CONFIGFILE (originally the absolute per-user path ~/.cryptsettings.json) is reassigned at line 84 to the bare relative name 'cryptsettings.json'. As a result, the legacy Tk GUI's SettingsTab reads and writes KDF settings from cryptsettings.json in the process launch (current working) directory instead of the user's home directory. An attacker who plants a malicious cryptsettings.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.

Affected Software

1 affected component
pypi/openssl-encrypt<1.4.9

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 1.4.9Patch openssl_encrypt before 1.4.9 KDF Downgrade via CWD-relative Configuration

Event History

Aug 27, 2026
CVE Published
via MITRE·02:51 PM
Data Sourced
via MITRE·02:51 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·05:20 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who is exposed to this issue?

Users of openssl-encrypt versions 1.4.8 and earlier are exposed when they use the legacy Tk GUI from a current working directory where an attacker can place crypt_settings.json. The issue affects encryption performed during that GUI session.

2

What must an attacker do to exploit the weakness?

An attacker needs to plant a malicious crypt_settings.json in the directory from which the GUI process is launched. That file can disable memory-hard KDFs and set a weak setting such as sha256:1, causing newly created ciphertext to use a weak derivation configuration.

3

Is the normal per-user configuration location used by the affected GUI?

No. In affected versions, the GUI resolves crypt_settings.json relative to its process launch directory rather than using the intended per-user ~/.crypt_settings.json path.

4

What can be done before upgrading?

Do not launch the legacy Tk GUI from untrusted or shared directories, and inspect the launch directory for crypt_settings.json before using it to encrypt data. Upgrade to version 1.4.9 when possible.

5

How can I determine whether encryption may have been weakened?

Check whether the GUI was launched from a directory containing crypt_settings.json and examine that file’s KDF settings. A configuration that disables memory-hard KDFs or uses a setting such as sha256:1 indicates ciphertext created in that session may be vulnerable to offline brute-force attacks.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203