← back
CVE-2021-23840

Integer overflow in CipherUpdate

CVSS 7.5 HIGHEPSS 50.7%CWE-190
In short

A bug in OpenSSL's encryption functions can cause an integer overflow when processing very large data, making the function report success while actually producing an invalid result. This can cause applications to crash or behave unexpectedly.

Technical detail

Integer overflow in EVP_CipherUpdate, EVP_EncryptUpdate, and EVP_DecryptUpdate occurs when input length approaches the maximum integer value, causing the output length parameter to wrap to a negative value despite returning success (1). This affects OpenSSL 1.1.1i and earlier, as well as 1.0.2x and earlier, potentially leading to application crashes or incorrect cryptographic processing.

Summary generated and translated by AI from the official description.
Calls to EVP_CipherUpdate, EVP_EncryptUpdate and EVP_DecryptUpdate may overflow the output length argument in some cases where the input length is close to the maximum permissable length for an integer on the platform. In such cases the return value from the function call will be 1 (indicating success), but the output length value will be negative. This could cause applications to behave incorrectly or crash. OpenSSL versions 1.1.1i and below are affected by this issue. Users of these versions should upgrade to OpenSSL 1.1.1j. OpenSSL versions 1.0.2x and below are affected by this issue. However OpenSSL 1.0.2 is out of support and no longer receiving public updates. Premium support customers of OpenSSL 1.0.2 should upgrade to 1.0.2y. Other users should upgrade to 1.1.1j. Fixed in OpenSSL 1.1.1j (Affected 1.1.1-1.1.1i). Fixed in OpenSSL 1.0.2y (Affected 1.0.2-1.0.2x).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Affected products
OpenSSL · OpenSSL

Want to know if your infrastructure is exposed to this?

Talk to TrueHacking →