CVE-2024-9143 Low-level invalid GF(2^m) parameters lead to OOB memory access

Medium 4.3 Published Updated

Attackers can trigger out-of-bounds memory access in OpenSSL when using low-level APIs with invalid GF(2^m) curve parameters, potentially causing crashes or remote code execution.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2024-9143?

CVE-2024-9143 is a medium-severity memory corruption vulnerability in OpenSSL, published on 16 Oct 2024. Any signed-in user can exploit it over the network, with no action from the victim.

Official 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.

Weakness: CWE-787, CWE-125

Which versions are affected by CVE-2024-9143?

How do I fix CVE-2024-9143?

Apply the vendor's patch.

Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.

Is CVE-2024-9143 being exploited?

There is no known exploitation of CVE-2024-9143 in the wild and no public exploit code.

Sources

Also known as ALPINE-CVE-2024-9143, AZL-78531, BELL-CVE-2024-9143, CLEANSTART-2026-QL44288, DEBIAN-CVE-2024-9143, GHSA-q764-r57m-9wp9 and 11 more.

Is CVE-2024-9143 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free