CVE-2024-9143

Name
CVE-2024-9143
Description
Issue summary: Use of the low-level GF(2^m) elliptic curve APIs with untrusted explicit values for the field polynomial can lead to out-of-bounds memory reads or writes. Impact summary: Out of bound memory writes can lead to an application crash or even a possibility of a remote code execution, however, in all the protocols involving Elliptic Curve Cryptography that we're aware of, either only "named curves" are supported, or, if explicit curve parameters are supported, they specify an X9.62 encoding of binary (GF(2^m)) curves that can't represent problematic input values. Thus the likelihood of existence of a vulnerable application is low. In particular, the X9.62 encoding is used for ECC keys in X.509 certificates, so problematic inputs cannot occur in the context of processing X.509 certificates. Any problematic use-cases would have to be using an "exotic" curve encoding. The affected APIs include: EC_GROUP_new_curve_GF2m(), EC_GROUP_new_from_params(), and various supporting BN_GF2m_*() functions. Applications working with "exotic" explicit binary (GF(2^m)) curve parameters, that make it possible to represent invalid field polynomials with a zero constant term, via the above or similar APIs, may terminate abruptly as a result of reading or writing outside of array bounds. Remote code execution cannot easily be ruled out. The FIPS modules in 3.3, 3.2, 3.1 and 3.0 are not affected by this issue.
NVD Severity
unknown
Other trackers
Mailing lists
Exploits
Forges
GitHub (code, issues), Aports (code, issues)

References

Type URI
vendor-advisory https://openssl-library.org/news/secadv/20241016.txt
patch https://github.com/openssl/openssl/commit/c0d3e4d32d2805f49bec30547f225bc4d092e1f4
patch https://github.com/openssl/openssl/commit/bc7e04d7c8d509fb78fc0e285aa948fb0da04700
patch https://github.com/openssl/openssl/commit/fdf6723362ca51bd883295efe206cb5b1cfa5154
patch https://github.com/openssl/openssl/commit/72ae83ad214d2eef262461365a1975707f862712
patch https://github.openssl.org/openssl/extended-releases/commit/8efc0cbaa8ebba8e116f7b81a876a4123594d86a
patch https://github.openssl.org/openssl/extended-releases/commit/9d576994cec2b7aa37a91740ea7e680810957e41

Match rules

CPE URI Source package Min version Max version
openssl >= 3.3.0 < 3.3.3
openssl >= 3.2.0 < 3.2.4
openssl >= 3.1.0 < 3.1.8
openssl >= 3.0.0 < 3.0.16
openssl >= 1.1.1 < 1.1.1zb
openssl >= 1.0.2 < 1.0.2zl

Vulnerable and fixed packages

Source package Branch Version Maintainer Status
openssl 3.20-main 3.3.2-r1 Natanael Copa <ncopa@alpinelinux.org> fixed
openssl 3.19-main 3.1.7-r1 Ariadne Conill <ariadne@dereferenced.org> fixed
openssl 3.18-main 3.1.7-r1 Ariadne Conill <ariadne@dereferenced.org> fixed
openssl 3.17-main 3.0.15-r1 Ariadne Conill <ariadne@dereferenced.org> fixed
openssl edge-main 3.3.2-r4 Natanael Copa <ncopa@alpinelinux.org> fixed