FatFs in Zephyr firmware: identifiers and CRA notes
·
What it is
FatFs
Notes on this component
FatFs by ChaN, a FAT filesystem driver. Upstream (elm-chan.org/fsw/ff) is a download, not a git repository, so Zephyr's own fork is the only history and a manifest gives a commit, not a release name such as R0.15a. NVD lists CVEs under elm-chan:fatfs, which this row sets without a version; upstream is not on GitHub, so there are no GitHub advisories. Six flaws were filed against R0.16 and earlier in July 2026, all reached through crafted on-disk metadata, which on a removable card is attacker-supplied: CVE-2026-6682 (`fasize *= fs->n_fats` wraps in mount_volume(), so callers go on to read with attacker-controlled lengths), CVE-2026-6687 (f_getlabel() trusts the exFAT label length XDIR_NumLabel without enforcing the spec maximum and overflows the stack) and CVE-2026-6688 (with long filenames enabled fno.fname can be 255 characters, and callers copy it into short fixed buffers without a bounds check). The other three are CVE-2026-6683, CVE-2026-6684 and CVE-2026-6686. No fixed release is named for the five that say "R0.16 and earlier"; CVE-2026-6684 is fixed in R0.16.
Also a subsystem, switched on by CONFIG_FAT_FILESYSTEM_ELM. ELM FatFs, vendored as a Zephyr module. CVE family is parsing of on-disk structures — boot sector, FAT and directory entries — which matters whenever the medium is removable or writable by another party, because that data is attacker-controlled. Upstream is ChaN's FatFs (elm-chan.org/fsw/ff/); no CPE is recorded because there is no established vendor:product pair, so matching uses the name and repository. One advisory is filed against the FAT back end in Zephyr: CVE-2020-13598, a buffer overflow in fs_stat when long file names are enabled, fixed in 2.4.0. None has been filed since, as of 9 October 2026 — but ChaN ships FatFs fixes as dated revisions rather than CVEs, so the module's own revision is the thing to check here, not this list alone.
Where it hides in a firmware SBOM
Zephyr lists a west module by its west name, with no PURL or CPE. Vulnerability feeds cannot find it from that listing alone, which is why the SBOM check adds the identifiers below.
It is compiled into the kernel image when CONFIG_FAT_FILESYSTEM_ELM is y. It does not appear in west spdx output; the only trace is the .config file in your build directory.
The identifiers we assign
pkg:github/zephyrproject-rtos/fatfs@{version}cpe:2.3:a:elm-chan:fatfs:*:*:*:*:*:*:*:*
{version} is filled in from your build. The version is pinned to the upstream commit your build uses.
The SBOM check adds these identifiers to a component your build listed without them.
Honest gaps
Vendor: elm-chan.
Where this row comes from
https://nvd.nist.gov/vuln/detail/CVE-2026-6682
Checked on 10 October 2026.
Known vulnerabilities
Not checked yet
Vulnerability data changes daily. Check the version you ship in the SBOM check.
CRA notes
- List this component in your SBOM. Annex I, Part II (1):
- Ship the version with no known exploitable vulnerabilities at release. Annex I, Part I (2(a)):
- An SBOM without this subsystem under-reports what is in the image. Annex I, Part II (1):
Source: Annex I of Regulation (EU) 2024/2847 (Cyber Resilience Act), legal state 2026.10.13-1.
Related Zephyr components
No related components yet.
Guides that mention FatFs
Next step
Check the FatFs you ship for known vulnerabilitiesDeclarable prepares documentation for you to review. It is not legal advice and not certification. You sign your own declaration of conformity.