CVE-2024-8946 json
MicroPython VFS Unmount vfs.c mp_vfs_umount heap-based overflow
published 2024-09-17 2 y ago modified 2026-06-17 4 mo ago also GHSA-74qm-4v7r-jw2f , PYSEC-2024-91 , PYSEC-2024-93 , PYSEC-2024-95 , PYSEC-2024-96 , EUVD-2024-0102
- cvss
- 7.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.0%
- EPSS 1.0% chance of exploitation in 30 days, percentile 63%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- micropython Debian 14, Debian 13 1.24.0+ds-1
debian advisories DEBIAN-CVE-2024-8946
- micropython Ubuntu Pro 20.04 LTS 1.12-1ubuntu0.1~esm1
- micropython Ubuntu Pro 22.04 LTS 1.17+ds-1.1ubuntu2+esm1
- micropython Ubuntu Pro 24.04 LTS 1.22.1+ds-1ubuntu0.24.04.1~esm1
ubuntu advisories UBUNTU-CVE-2024-8946
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2024-8946 updated cvss 7.3
micropython: heap buffer overflow via mp_vfs_umount
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
1.01% chance of exploitation in the next 30 days, higher than 63% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/micropython/micropython/issues/13006 referenced PoC, tagged "exploit" by a source, unverified
- github.com https://github.com/micropython/micropython/issues/13006#issuecomment-1820309455 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 6.9 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N |
| CNA | 3.1 | 7.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L |
| CNA | 3.0 | 7.3 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L |
| CNA | 2.0 | 7.5 | AV:N/AC:L/Au:N/C:P/I:P/A:P |
| CNA | 4.0 | 6.9 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| OSV | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 7.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | micropython-copy | <=3.3.3.post3 all versions |
no fix listed |
| pypi | micropython-io | <=0.1 all versions |
no fix listed |
| pypi | micropython-os-path | <=0.1.3 all versions |
no fix listed |
| pypi | micropython-string | <=0.1 all versions |
no fix listed |
Affected products
- n/a MicroPython
- micropython micropython
Classification
References
-
github.com
/micropython/micropython/commit/29943546343c92334e8518695a11fc0e2ceea68b
patch, web
-
github.com
/micropython/micropython/issues/13006
exploit, issue-tracking, web, report, evidence
-
github.com
/micropython/micropython/issues/13006#issuecomment-1820309455
issue-tracking, web, exploit, third-party-advisory, report, evidence
-
vuldb.com
/?id.277764
vdb-entry, technical-description, web, third-party-advisory
-
vuldb.com
/?ctiid.277764
signature, permissions-required, web
-
vuldb.com
/?submit.409312
third-party-advisory, web
-
nvd.nist.gov
/vuln/detail/CVE-2024-8946
advisory
-
github.com
/pypa/advisory-database/tree/main/vulns/micropython-copy/PYSEC-2024-91.yaml
web
-
github.com
/pypa/advisory-database/tree/main/vulns/micropython-io/PYSEC-2024-93.yaml
web
-
github.com
/pypa/advisory-database/tree/main/vulns/micropython-os-path/PYSEC-2024-95.yaml
web
-
github.com
/pypa/advisory-database/tree/main/vulns/micropython-string/PYSEC-2024-96.yaml
web
-
github.com
/advisories/GHSA-74qm-4v7r-jw2f
advisory
Sources
- CVE List CVE-2024-8946
- GitHub Advisory GHSA-74qm-4v7r-jw2f
- NVD CVE-2024-8946
- OSV PYSEC-2024-91
- OSV PYSEC-2024-96
- OSV PYSEC-2024-95
- OSV PYSEC-2024-93
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.