CVE-2026-81720: openssl_encrypt memory exhaustion in identity file protection block

CVE-2026-81720 · Severity: medium · CVSS 6.2 · Published 2026-08-27

openssl_encrypt is a Python library for encrypting and decrypting identity files using password protection. A flaw in how it validates memory parameters in encrypted identity files allows an attacker with write access to the local identity store to craft a malicious identity file that consumes excessive memory, causing the system to crash when the user attempts to unlock the identity before authentication.

Technologies: Jahlives Openssl Encrypt, openssl-encrypt (PyPI). Vendors: Jahlives, PyPI.

Quick answers

Is CVE-2026-81720 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-81720 being exploited in the wild.
How severe is CVE-2026-81720?
Medium severity, with a CVSS score of 6.2, published 27 August 2026.
Which products and versions are affected?
Jahlives Openssl Encrypt before 1.4.9; openssl-encrypt (PyPI) ECOSYSTEM:introduced=0,fixed=1.4.9.
Is there a fix for CVE-2026-81720?
Yes. openssl-encrypt (PyPI): upgrade to 1.4.9 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-81720 attacked?
It is attacked with local access, in a software library.
Am I affected by CVE-2026-81720?
Check whether you run Jahlives Openssl Encrypt or openssl-encrypt (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • openssl-encrypt (PyPI): upgrade to 1.4.9 or later
    pip install "openssl-encrypt>=1.4.9"

Technical details

The vulnerability is a resource exhaustion flaw (CWE-400) in the PasswordProtectionConfig.from_dict method, which reads the memory_cost parameter from an identity file's protection block without validating an upper bound. The _derive_key function then passes this unconstrained value to Argon2 (hash_secret_raw) for key derivation before the AEAD tag has authenticated the private key data. An attacker with write access to the local identity store or who can trick a user into loading a malicious identity file can supply an extremely large memory_cost value that causes out-of-memory conditions and system crash. The vulnerability is pre-authentication, meaning it can be triggered before the user is authenticated. Fixed in version 1.4.9 by clamping the Argon2 cost parameters (memory_cost ≤ 2 GiB, time_cost ≤ 64, parallelism ≤ 16).

Affected products

  • jahlives openssl_encrypt before 1.4.9

Identifiers

  • CVE-2026-81720
  • PYSEC-2026-3965

Timeline

  • 2026-08-12: disclosed
  • 2026-08-27: advisory
  • 2026: patched: fixed in version 1.4.9

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.