CVE-2024-8946
MicroPython VFS Unmount vfs.c mp_vfs_umount heap-based overflow
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
6.9
MicroPython VFS Unmount vfs.c mp_vfs_umount heap-based overflow
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.
- Record
CVE-2024-8946- CVSS 4.0
- 6.9 Medium
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 - CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - CVSS 3.0
- 7.3 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - CVSS 2.0
- 7.5
AV:N/AC:L/Au:N/C:P/I:P/A:P - Weakness
- CWE-122
- Updated
- 2026-11-02
EUVDEUVD-2024-0102
6.9
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.
- Record
EUVD-2024-0102- CVSS 4.0
- 6.9 Medium
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 - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-74qm-4v7r-jw2f
6.9
Heap-based Buffer Overflow in MicroPython
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.
- Record
GHSA-74qm-4v7r-jw2f- CVSS 4.0
- 6.9 Medium
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 - CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-122, CWE-787
- Updated
- 2026-11-02
NVD
6.9
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.
- Record
CVE-2024-8946- CVSS 4.0
- 6.9 Medium
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 - CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - CVSS 2.0
- 7.5 High
AV:N/AC:L/Au:N/C:P/I:P/A:P - Weakness
- CWE-122, CWE-787
- Updated
- 2026-11-02
OSV
6.9
MicroPython VFS Unmount vfs.c mp_vfs_umount heap-based overflow
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.
- Record
CVE-2024-8946- CVSS 4.0
- 6.9 Medium
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 - Weakness
- CWE-122
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2024-8946
7.5
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.
- Record
DEBIAN-CVE-2024-8946- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
Show 7 moreShow less
OSVGHSA-74qm-4v7r-jw2f
6.9
Heap-based Buffer Overflow in MicroPython
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.
- Record
GHSA-74qm-4v7r-jw2f- CVSS 4.0
- 6.9 Medium
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 - CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-122, CWE-787
- Updated
- 2026-11-02
OSVPYSEC-2024-91
7.5
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.
- Record
PYSEC-2024-91- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVPYSEC-2024-93
7.5
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.
- Record
PYSEC-2024-93- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVPYSEC-2024-95
7.5
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.
- Record
PYSEC-2024-95- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVPYSEC-2024-96
7.5
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.
- Record
PYSEC-2024-96- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2024-8946
6.9
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.
- Record
UBUNTU-CVE-2024-8946- CVSS 4.0
- 6.9 Medium
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 - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
OSVUSN-7472-1 No score
micropython vulnerabilities
Junwha Hong and Wonil Jang discovered that Micropython incorrectly handled the length of a buffer in mp_vfs_umount, leading to a heap-based buffer overflow vulnerability. If a user or automated system were tricked into opening a specially crafted file, an attacker could possibly use this issue to cause a denial of service or possibly execute arbitrary code. (CVE-2024-8946)
Junwha Hong and Wonil Jang discovered that Micropython incorrectly handled memory, leading to a use-after-free vulnerability under certain circumstances. If a user or automated system were tricked into opening a specially crafted file, an attacker could possibly use this issue to cause a denial of service or possibly execute arbitrary code. (CVE-2024-8947)
It was discovered that Middleware USB Host MCU Component incorrectly handled memory, leading to a buffer overflow vulnerability, If a user or automated system were tricked into opening a specially crafted file, an attacker could possibly use this issue to cause a denial of service or possibly execute arbitrary code. (CVE-2021-42553)
- Record
USN-7472-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
micropython-copyPyPI |
through 3.3.3.post3 | None known |
micropython-ioPyPI |
through 0.1 | None known |
micropython-os-pathPyPI |
through 0.1.3 | None known |
micropython-stringPyPI |
through 0.1 | None known |
micropythonDebian:13 |
before 1.24.0+ds-1 | 1.24.0+ds-1 |
micropythonDebian:14 |
before 1.24.0+ds-1 | 1.24.0+ds-1 |
micropython-copyPyPI |
through 3.3.3.post3, plus listed versions 0.0.10.0.23.3.3-2 |
None known |
micropython-ioPyPI |
through 0.1, plus listed versions 0.0.10.0.20.0.3 |
None known |
micropython-os-pathPyPI |
through 0.1.3, plus listed versions 0.0.10.0.20.0.30.10.1.10.1.2 |
None known |
micropython-stringPyPI |
through 0.1, plus listed versions 0.0.1 |
None known |
Show 10 moreShow less
| Package | Affected | Fixed |
|---|---|---|
micropython-copyPyPI |
All versions, plus listed versions 0.0.10.0.23.3.3-23.3.3.post3 |
None known |
micropython-ioPyPI |
All versions, plus listed versions 0.0.10.0.20.0.30.1 |
None known |
micropython-os-pathPyPI |
All versions, plus listed versions 0.0.10.0.20.0.30.10.1.10.1.20.1.3 |
None known |
micropython-stringPyPI |
All versions, plus listed versions 0.0.10.1v1.24.0-previewv1.23.0v1.22.0 Show 45 moreShow lessv1.23.0-previewv1.22.0-previewv1.21.0v1.20.0v1.19.1v1.19v1.18v1.17v1.16v1.15v1.14v1.13v1.12v1.11v1.10v1.9.4v1.9.3v1.9.2v1.9.1v1.9v1.8.7v1.8.6v1.8.5v1.8.4v1.8.3v1.8.2v1.8.1v1.8v1.7v1.6v1.5.2v1.5.1v1.5v1.4.6v1.4.5v1.4.4v1.4.3v1.4.2v1.4.1v1.4v1.3.10v1.3.9v1.3.8v1.3.7v1.3.6 |
None known |
micropythonUbuntu:Pro:20.04:LTS |
before 1.12-1ubuntu0.1~esm1, plus listed versions 1.12-1 |
1.12-1ubuntu0.1~esm1 |
micropythonUbuntu:Pro:22.04:LTS |
before 1.17+ds-1.1ubuntu2+esm1, plus listed versions 1.17+ds-1ubuntu11.17+ds-1.11.17+ds-1.1ubuntu2 |
1.17+ds-1.1ubuntu2+esm1 |
micropythonUbuntu:Pro:24.04:LTS |
before 1.22.1+ds-1ubuntu0.24.04.1~esm1, plus listed versions 1.19.1+ds-11.22.1+ds-11.22.1+ds-1build11.22.1+ds-1build2 |
1.22.1+ds-1ubuntu0.24.04.1~esm1 |
micropythonUbuntu:Pro:20.04:LTS From an advisory covering 3 CVEs |
before 1.12-1ubuntu0.1~esm1, plus listed versions 1.12-1 |
1.12-1ubuntu0.1~esm1 |
micropythonUbuntu:Pro:22.04:LTS From an advisory covering 3 CVEs |
before 1.17+ds-1.1ubuntu2+esm1, plus listed versions 1.17+ds-1ubuntu11.17+ds-1.11.17+ds-1.1ubuntu2 |
1.17+ds-1.1ubuntu2+esm1 |
micropythonUbuntu:Pro:24.04:LTS From an advisory covering 3 CVEs |
before 1.22.1+ds-1ubuntu0.24.04.1~esm1, plus listed versions 1.19.1+ds-11.22.1+ds-11.22.1+ds-1build11.22.1+ds-1build2 |
1.22.1+ds-1ubuntu0.24.04.1~esm1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases, published | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2024-8946 is a medium vulnerability (CVSS 6.9) in Micropython, published September 17, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.01%, the 63rd percentile. Fixed in micropython 1.24.0+ds-1.
References
vuldb.com?id.277764
vuldb.com?ctiid.277764
vuldb.com?submit.409312
github.com/micropython/micropython/issues/13006
github.com/micropython/micropython/commit/29943546343c92334e8518695a11fc0e2ceea68b
nvd.nist.gov/vuln/detail/CVE-2024-8946
Show 12 moreShow less
github.com/pypa/advisory-database/tree/main/vulns/micropython-copy/PYSEC-2024-91.yaml
github.com/pypa/advisory-database/tree/main/vulns/micropython-io/PYSEC-2024-93.yaml
github.com/pypa/advisory-database/tree/main/vulns/micropython-os-path/PYSEC-2024-95.yaml
github.com/pypa/advisory-database/tree/main/vulns/micropython-string/PYSEC-2024-96.yaml
github.com/advisories/GHSA-74qm-4v7r-jw2f
github.com/CVEProject/cvelistV5/tree/main/cves/2024/8xxx/CVE-2024-8946.json
security-tracker.debian.org/tracker/CVE-2024-8946
ubuntu.com/security/CVE-2024-8946
cve.org/CVERecord?id=CVE-2024-8946
ubuntu.com/security/notices/USN-7472-1
ubuntu.com/security/CVE-2021-42553
ubuntu.com/security/CVE-2024-8947
Left out here: 12 versions. The JSON record has them.