CVE-2024-8946: Heap-based Buffer Overflow in MicroPython

CVE-2024-8946 · Severity: low · CVSS 3.1 · Published 2024-09-17

A vulnerability was found in MicroPython 1.23.0. It has been classified as critical. Affected is the function mp_vfs_umount of the file extmod/vfs.c of the component VFS Unmount Handler. The manipulation leads to heap-based buffer overflow. It is possible to launch the attack remotely. The exploit has been disclosed to the public and may be used. The name of the patch is 29943546343c92334e8518695a11fc0e2ceea68b. It is recommended to apply a patch to fix this issue. In the VFS unmount process, the comparison between the mounted path string and the unmount requested string is based solely on the length of the unmount string, which can lead to a heap buffer overflow read.

Technologies: micropython-copy (PyPI), micropython-io (PyPI). Vendors: PyPI.

Quick answers

Is CVE-2024-8946 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2024-8946 being exploited in the wild.
How severe is CVE-2024-8946?
Low severity, with a CVSS score of 3.1, published 17 September 2024.
Which products and versions are affected?
micropython-copy (PyPI) ECOSYSTEM:introduced=0,last_affected=3.3.3.post3, GIT:introduced=0,fixed=29943546343c92334e8518695a11fc0e2ceea68b|ECOSYSTEM:introduced=0; micropython-io (PyPI) ECOSYSTEM:introduced=0,last_affected=0.1, GIT:introduced=0,fixed=29943546343c92334e8518695a11fc0e2ceea68b|ECOSYSTEM:introduced=0; micropython-os-path (PyPI) ECOSYSTEM:introduced=0,last_affected=0.1.3, GIT:introduced=0,fixed=29943546343c92334e8518695a11fc0e2ceea68b|ECOSYSTEM:introduced=0; micropython-string (PyPI) ECOSYSTEM:introduced=0,last_affected=0.1, GIT:introduced=0,fixed=29943546343c92334e8518695a11fc0e2ceea68b|ECOSYSTEM:introduced=0.
Is there a fix for CVE-2024-8946?
No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
Am I affected by CVE-2024-8946?
Check whether you run micropython-copy (PyPI), micropython-io (PyPI), micropython-os-path (PyPI) or one of the others listed at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Affected products

  • micropython-copy (PyPI) ECOSYSTEM:introduced=0,last_affected=3.3.3.post3, GIT:introduced=0,fixed=29943546343c92334e8518695a11fc0e2ceea68b|ECOSYSTEM:introduced=0
  • micropython-io (PyPI) ECOSYSTEM:introduced=0,last_affected=0.1, GIT:introduced=0,fixed=29943546343c92334e8518695a11fc0e2ceea68b|ECOSYSTEM:introduced=0
  • micropython-os-path (PyPI) ECOSYSTEM:introduced=0,last_affected=0.1.3, GIT:introduced=0,fixed=29943546343c92334e8518695a11fc0e2ceea68b|ECOSYSTEM:introduced=0
  • micropython-string (PyPI) ECOSYSTEM:introduced=0,last_affected=0.1, GIT:introduced=0,fixed=29943546343c92334e8518695a11fc0e2ceea68b|ECOSYSTEM:introduced=0

Identifiers

  • CVE-2024-8946
  • GHSA-74qm-4v7r-jw2f
  • PYSEC-2024-91
  • PYSEC-2024-93
  • PYSEC-2024-95
  • PYSEC-2024-96

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.