MicroPython VFS Unmount vfs.c mp_vfs_umount heap-based overflow
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- —
- Confidentiality · integrity · availability
- Low · Low · Low
- Fix status
- No fix listed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub.
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | MicroPython | 1.23.0 | — | No fix listed | CNA |
| — | micropython-copy (PyPI) | up to 3.3.3.post3 | — | No fix listed | GHSA-74qm-4v7r-jw2f |
| — | micropython-io (PyPI) | up to 0.1 | — | No fix listed | GHSA-74qm-4v7r-jw2f |
| — | micropython-os-path (PyPI) | up to 0.1.3 | — | No fix listed | GHSA-74qm-4v7r-jw2f |
| — | micropython-string (PyPI) | up to 0.1 | — | No fix listed | GHSA-74qm-4v7r-jw2f |
- MicroPython Vendor— Affected 1.23.0 Fixed in — No fix listed CNA
- micropython-copy (PyPI) Vendor— Affected up to 3.3.3.post3 Fixed in — No fix listed GHSA-74qm-4v7r-jw2f
- micropython-io (PyPI) Vendor— Affected up to 0.1 Fixed in — No fix listed GHSA-74qm-4v7r-jw2f
- micropython-os-path (PyPI) Vendor— Affected up to 0.1.3 Fixed in — No fix listed GHSA-74qm-4v7r-jw2f
- micropython-string (PyPI) Vendor— Affected up to 0.1 Fixed in — No fix listed GHSA-74qm-4v7r-jw2f
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:micropython:micropython:1.23.0:*:*:*:*:*:*:* | 1.23.0 | Vulnerable | Micropython |
- cpe:2.3:a:micropython:micropython:1.23.0:*:*:*:*:*:*:* Versions 1.23.0 Vulnerable ·Micropython
Remediation
No fixed version listed by the sources yet.
Vendor assessments
Timeline
- 2026-10-02 Threatist record created from CVE-2024-8946
- 2026-10-03 Alias added: GHSA-74qm-4v7r-jw2f
References
Exploit 2
Other 4
- https://github.com/pypa/advisory-database/tree/main/vulns/micropython-copy/PYSEC-2024-91.yaml
- https://github.com/pypa/advisory-database/tree/main/vulns/micropython-io/PYSEC-2024-93.yaml
- https://github.com/pypa/advisory-database/tree/main/vulns/micropython-os-path/PYSEC-2024-95.yaml
- https://github.com/pypa/advisory-database/tree/main/vulns/micropython-string/PYSEC-2024-96.yaml
More Micropython vulnerabilities
- TI-2024-08308 MicroPython objint.c mpz_as_bytes heap-based overflow CVSS 4.0MEDIUM 6.9
- TI-2024-08307 MicroPython objarray.c use after free CVSS 4.0MEDIUM 6.3
- TI-2026-01655 micropython runtime.c mp_import_all memory corruption CVSS 4.0MEDIUM 4.8
- TI-2023-06546 MicroPython objslice.c slice_indices heap-based overflow CVSS 3.1CRITICAL 9.8
- TI-2023-06540 MicroPython modselect.c poll_set_add_fd use after free CVSS 3.1CRITICAL 9.8
Sources
- CVE-2024-8946 · CVE Program
- CVE-2024-8946 · NVD
- FIRST EPSS
- GHSA-74qm-4v7r-jw2f · GitHub Advisory Database · CC BY 4.0
- CVE-2024-8946 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences