CVE-2025-38677

Source
https://cve.org/CVERecord?id=CVE-2025-38677
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-38677.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2025-38677
Downstream
Related
Published
2025-08-30T09:19:02.596Z
Modified
2026-03-09T23:51:23.415162Z
Summary
f2fs: fix to avoid out-of-boundary access in dnode page
Details

In the Linux kernel, the following vulnerability has been resolved:

f2fs: fix to avoid out-of-boundary access in dnode page

As Jiaming Zhang reported:

<TASK> _dumpstack lib/dumpstack.c:94 [inline] dumpstacklvl+0x1c1/0x2a0 lib/dumpstack.c:120 printaddressdescription mm/kasan/report.c:378 [inline] printreport+0x17e/0x800 mm/kasan/report.c:480 kasanreport+0x147/0x180 mm/kasan/report.c:593 datablkaddr fs/f2fs/f2fs.h:3053 [inline] f2fsdatablkaddr fs/f2fs/f2fs.h:3058 [inline] f2fsgetdnodeofdata+0x1a09/0x1c40 fs/f2fs/node.c:855 f2fsreserveblock+0x53/0x310 fs/f2fs/data.c:1195 preparewritebegin fs/f2fs/data.c:3395 [inline] f2fswritebegin+0xf39/0x2190 fs/f2fs/data.c:3594 genericperformwrite+0x2c7/0x910 mm/filemap.c:4112 f2fsbufferedwriteiter fs/f2fs/file.c:4988 [inline] f2fsfilewriteiter+0x1ec8/0x2410 fs/f2fs/file.c:5216 newsyncwrite fs/readwrite.c:593 [inline] vfswrite+0x546/0xa90 fs/readwrite.c:686 ksyswrite+0x149/0x250 fs/readwrite.c:738 dosyscallx64 arch/x86/entry/syscall64.c:63 [inline] dosyscall64+0xf3/0x3d0 arch/x86/entry/syscall64.c:94 entrySYSCALL64afterhwframe+0x77/0x7f

The root cause is in the corrupted image, there is a dnode has the same node id w/ its inode, so during f2fsgetdnodeofdata(), it tries to access block address in dnode at offset 934, however it parses the dnode as inode node, so that getdnodeaddr() returns 360, then it tries to access page address from 360 + 934 * 4 = 4096 w/ 4 bytes.

To fix this issue, let's add sanity check for node id of all direct nodes during f2fsgetdnodeofdata().

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/38xxx/CVE-2025-38677.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
98e4da8ca301e062d79ae168c67e56f3c3de3ce4
Fixed
ee4d13f5407cbdf1216cc258f45492075713889a
Fixed
a650654365c57407413e9b1f6ff4d539bf2e99ca
Fixed
6b7784ea07e6aa044f74b39d6b5af5e28746fc81
Fixed
901f62efd6e855f93d8b1175540f29f4dc45ba55
Fixed
92ef491b506a0f4dd971a3a76f86f2d8f5370180
Fixed
888aa660144bcb6ec07839da756ee46bfcf7fc53
Fixed
f1d5093d9fe9f3c74c123741c88666cc853b79c5
Fixed
77de19b6867f2740cdcb6c9c7e50d522b47847a4

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-38677.json"