FlawAtlas
Search the atlas
UBUNTU-CVE-2024-9143 Moderate

UBUNTU-CVE-2024-9143

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.

Exploit probability Not scored
Published October 16, 2024
Required by Not available
Last source change August 26, 2026

02 / AFFECTED SOFTWARE

Affected packages

Ubuntu:20.04:LTS edk2

15 explicit affected versions

Ubuntu:20.04:LTS openssl

25 explicit affected versions

Ubuntu:22.04:LTS edk2

13 explicit affected versions

Ubuntu:22.04:LTS openssl

20 explicit affected versions

Ubuntu:24.04:LTS edk2

13 explicit affected versions

Ubuntu:24.04:LTS openssl

10 explicit affected versions

Ubuntu:Pro:14.04:LTS openssl

43 explicit affected versions

Ubuntu:Pro:16.04:LTS edk2

7 explicit affected versions

Ubuntu:Pro:16.04:LTS nodejs

12 explicit affected versions

Ubuntu:Pro:16.04:LTS openssl

41 explicit affected versions

Ubuntu:Pro:18.04:LTS edk2

12 explicit affected versions

Ubuntu:Pro:18.04:LTS nodejs

15 explicit affected versions

Ubuntu:Pro:18.04:LTS openssl

37 explicit affected versions

Ubuntu:Pro:18.04:LTS openssl1.0

23 explicit affected versions

Ubuntu:Pro:22.04:LTS nodejs

12 explicit affected versions

Ubuntu:Pro:FIPS-preview:22.04:LTS openssl

2 explicit affected versions

Ubuntu:Pro:FIPS-preview:22.04:LTS openssl-fips

1 explicit affected versions

Ubuntu:Pro:FIPS-updates:18.04:LTS openssl

22 explicit affected versions

Ubuntu:Pro:FIPS-updates:20.04:LTS openssl

12 explicit affected versions

Ubuntu:Pro:FIPS-updates:22.04:LTS openssl

7 explicit affected versions

Ubuntu:Pro:FIPS-updates:22.04:LTS openssl-fips

2 explicit affected versions

Ubuntu:Pro:FIPS-updates:24.04:LTS openssl-fips

1 explicit affected versions

Ubuntu:Pro:FIPS:16.04:LTS openssl

7 explicit affected versions

Ubuntu:Pro:FIPS:16.04:LTS openssl

19 explicit affected versions

Ubuntu:Pro:FIPS:18.04:LTS openssl

2 explicit affected versions

Ubuntu:Pro:FIPS:20.04:LTS openssl

2 explicit affected versions

03 / CONNECTIONS

Connected vulnerabilities

04 / EVIDENCE

Source records

Open Source Vulnerabilities UBUNTU-CVE-2024-9143

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.

View original source

05 / REFERENCES

Further evidence