CVE-2024-9143

NameCVE-2024-9143
DescriptionIssue 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.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
ReferencesDLA-3942-1
Debian Bugs1085378

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
openssl (PTS)jessie, jessie (lts)1.0.1t-1+deb8u21vulnerable
stretch (security)1.1.0l-1~deb9u6vulnerable
stretch (lts), stretch1.1.0l-1~deb9u9vulnerable
buster (security), buster, buster (lts)1.1.1n-0+deb10u6vulnerable
bullseye1.1.1w-0+deb11u1fixed
bullseye (security)1.1.1w-0+deb11u2fixed
bookworm3.0.15-1~deb12u1fixed
bookworm (security)3.0.14-1~deb12u2vulnerable
sid, trixie3.3.2-2fixed
openssl1.0 (PTS)stretch (security)1.0.2u-1~deb9u7vulnerable
stretch (lts), stretch1.0.2u-1~deb9u9vulnerable

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
opensslsourceexperimental3.4.0-1
opensslsourcebullseye1.1.1n-0+deb11u6DLA-3942-1
opensslsourcebookworm3.0.15-1~deb12u1
opensslsource(unstable)3.3.2-21085378
openssl1.0source(unstable)(unfixed)

Notes

https://openssl-library.org/news/secadv/20241016.txt
https://github.com/openssl/openssl/commit/c0d3e4d32d2805f49bec30547f225bc4d092e1f4 (openssl-3.3)
https://github.com/openssl/openssl/commit/72ae83ad214d2eef262461365a1975707f862712 (openssl-3.0)

Search for package or bug name: Reporting problems