Skip to content
OpenAdvisories

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.

Affected products

VendorProductAffectedFixed
OpenSSL OpenSSL 3.3.0 – < 3.3.3, 3.2.0 – < 3.2.4, 3.1.0 – < 3.1.8, 3.0.0 – < 3.0.16, 1.1.1 – < 1.1.1zb, 1.0.2 – < 1.0.2zl 3.3.3

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 openssl 3.3.2-2 —
Debian 13 openssl 3.3.2-2 —
Debian 12 openssl 3.0.15-1~deb12u1 —
Debian 11 openssl 1.1.1n-0+deb11u6 DLA-3942-2, DLA-3942-1
ReleasePackageFixed inAdvisory
Ubuntu 24.04 LTS edk2 2024.02-2ubuntu0.6 USN-7894-1
Ubuntu 24.04 LTS openssl 3.0.13-0ubuntu3.5 USN-7278-1
Ubuntu 22.04 LTS edk2 2022.02-3ubuntu0.22.04.4 USN-7894-1
Ubuntu 22.04 LTS openssl 3.0.2-0ubuntu1.19 USN-7278-1
Ubuntu 20.04 LTS openssl 1.1.1f-1ubuntu2.24 USN-7278-1
Show 14 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro FIPS 20.04 LTS openssl No fix yet —
Ubuntu Pro FIPS 18.04 LTS openssl No fix yet —
Ubuntu Pro FIPS 16.04 LTS openssl No fix yet —
Ubuntu Pro FIPS-updates 24.04 LTS openssl-fips 3.0.13-0ubuntu3.6+Fips1 —
Ubuntu Pro FIPS-updates 22.04 LTS openssl 3.0.2-0ubuntu1.19+Fips1 —
Ubuntu Pro FIPS-updates 22.04 LTS openssl-fips No fix yet —
Ubuntu Pro FIPS-updates 20.04 LTS openssl 1.1.1f-1ubuntu2.fips.24 —
Ubuntu Pro FIPS-updates 18.04 LTS openssl No fix yet —
Ubuntu Pro FIPS-updates 16.04 LTS openssl No fix yet —
Ubuntu Pro FIPS-preview 22.04 LTS openssl +1 No fix yet —
Ubuntu Pro 22.04 LTS nodejs No fix yet —
Ubuntu Pro 20.04 LTS edk2 No fix yet —
Ubuntu Pro 18.04 LTS edk2 +3 No fix yet —
Ubuntu Pro 16.04 LTS edk2 +2 No fix yet —
Ubuntu Pro 14.04 LTS openssl No fix yet —
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed openssl-3 3.1.4-15.1 openSUSE-SU-2024:14416-1
ReleasePackageFixed inAdvisory
Alpine v3.24 openssl 3.3.2-r3 —
Alpine v3.23 openssl 3.3.2-r3 —
Alpine v3.22 openssl 3.3.2-r3 —
Alpine v3.21 openssl 3.3.2-r3 —
Alpine v3.20 openssl 3.3.2-r1 —
Show 3 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Alpine v3.19 openssl 3.1.7-r1 —
Alpine v3.18 openssl 3.1.7-r1 —
Alpine v3.17 openssl 3.0.15-r1 —

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2 edk2-ovmf +3 20240813-296.amzn2 ALAS2-2024-2722

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 openssl-fips-provider No fix yet —

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling openssl +1 3.3.3-r0 —
Wolfi rolling openssl-engine-capi 3.3.2-r2 —

Advisories 36

References