CVE-2024-8948 MicroPython objint.c mpz_as_bytes heap-based overflow

Medium 6.9 Published Updated

A heap-based buffer overflow in MicroPython allows remote attackers to execute arbitrary code or cause denial of service via integer conversion.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2024-8948?

CVE-2024-8948 is a medium-severity memory corruption vulnerability in MicroPython, published on 17 Sep 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

A vulnerability was found in MicroPython 1.23.0. It has been rated as critical. Affected by this issue is the function mpz_as_bytes of the file py/objint.c. The manipulation leads to heap-based buffer overflow. The attack may be launched remotely. The exploit has been disclosed to the public and may be used. The patch is identified as 908ab1ceca15ee6fd0ef82ca4cba770a3ec41894. It is recommended to apply a patch to fix this issue. In micropython objint component, converting zero from int to bytes leads to heap buffer-overflow-write at mpz_as_bytes.

Weakness: CWE-787, CWE-122

Which versions are affected by CVE-2024-8948?

9 open source packages ship an affected version, including micropython-copy, micropython-io and micropython-os. It affects 1 product.

PackageAffectedFixed in
micropython-copy PyPIAll versionsNone
micropython-copy PyPIAll versions to 3.3.3.post3None
micropython-copy PyPIAll versions to 3.3.3.post3None
micropython-io PyPIAll versionsNone
micropython-io PyPIAll versions to 0.1None
micropython-io PyPIAll versions to 0.1None
3 more packages
micropython-os PyPIAll versionsNone
micropython-os PyPIAll versions to 0.8None
micropython-os PyPIAll versions to 0.8None

Products include Micropython Micropython.

How do I fix CVE-2024-8948?

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-8948 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-8948 exists.

Sources

Also known as DEBIAN-CVE-2024-8948, GHSA-vh3x-525m-jp4r, PYSEC-2024-87, PYSEC-2024-88, PYSEC-2024-89, UBUNTU-CVE-2024-8948.

Is CVE-2024-8948 in your software?

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

Check your SBOMs for free