Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 829207 (CVE-2021-4044) - <dev-libs/openssl-3.0.1: Invalid handling of X509_verify_cert() internal errors in libssl (CVE-2021-4044)
Summary: <dev-libs/openssl-3.0.1: Invalid handling of X509_verify_cert() internal erro...
Status: RESOLVED FIXED
Alias: CVE-2021-4044
Product: Gentoo Security
Classification: Unclassified
Component: Vulnerabilities (show other bugs)
Hardware: All Linux
: Normal trivial (vote)
Assignee: Gentoo Security
URL: https://www.openssl.org/news/secadv/2...
Whiteboard: ~3 [cleanup]
Keywords:
Depends on:
Blocks:
 
Reported: 2021-12-14 20:42 UTC by Sam James
Modified: 2022-08-16 19:54 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-12-14 20:42:03 UTC
Invalid handling of X509_verify_cert() internal errors in libssl (CVE-2021-4044)
================================================================================

Severity: Moderate

Internally libssl in OpenSSL calls X509_verify_cert() on the client side to
verify a certificate supplied by a server. That function may return a negative
return value to indicate an internal error (for example out of memory). Such a
negative return value is mishandled by OpenSSL and will cause an IO function
(such as SSL_connect() or SSL_do_handshake()) to not indicate success and a
subsequent call to SSL_get_error() to return the value
SSL_ERROR_WANT_RETRY_VERIFY. This return value is only supposed to be returned
by OpenSSL if the application has previously called
SSL_CTX_set_cert_verify_callback(). Since most applications do not do this the
SSL_ERROR_WANT_RETRY_VERIFY return value from SSL_get_error() will be totally
unexpected and applications may not behave correctly as a result. The exact
behaviour will depend on the application but it could result in crashes,
infinite loops or other similar incorrect responses.

This issue is made more serious in combination with a separate bug in OpenSSL
3.0 that will cause X509_verify_cert() to indicate an internal error when
processing a certificate chain. This will occur where a certificate does not
include the Subject Alternative Name extension but where a Certificate Authority
has enforced name constraints. This issue can occur even with valid chains.

By combining the two issues an attacker could induce incorrect, application
dependent behaviour.

OpenSSL 3.0.0 SSL/TLS clients are affected by this issue. Users of this version
should upgrade to OpenSSL 3.0.1.

OpenSSL 1.1.1 and 1.0.2 are not affected by this issue.
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-12-14 20:42:36 UTC
Only affects masked/~arch so 'trivial' by our classification.

Please bump to 3.0.1.
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-12-14 20:43:57 UTC
... and bumped just after this, bad timing: https://github.com/gentoo/gentoo/commit/e1451181429e11e44ff4a97fd5b38ccc65790c66
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-12-14 20:44:29 UTC
Tentatively using < in summary although it's not very descriptive. OpenSSL 1.1 is fine.
Comment 4 John Helmert III archtester Gentoo Infrastructure gentoo-dev Security 2022-08-16 19:54:43 UTC
3.0.2 is the oldest openssl-3.x in tree, so tree is clean