{"id":"CVE-2025-38194","state":"PUBLISHED","title":"jffs2: check that raw node were preallocated before writing summary","description":"In the Linux kernel, the following vulnerability has been resolved:\n\njffs2: check that raw node were preallocated before writing summary\n\nSyzkaller detected a kernel bug in jffs2_link_node_ref, caused by fault\ninjection in jffs2_prealloc_raw_node_refs. jffs2_sum_write_sumnode doesn't\ncheck return value of jffs2_prealloc_raw_node_refs and simply lets any\nerror propagate into jffs2_sum_write_data, which eventually calls\njffs2_link_node_ref in order to link the summary to an expectedly allocated\nnode.\n\nkernel BUG at fs/jffs2/nodelist.c:592!\ninvalid opcode: 0000 [#1] PREEMPT SMP KASAN NOPTI\nCPU: 1 PID: 31277 Comm: syz-executor.7 Not tainted 6.1.128-syzkaller-00139-ge10f83ca10a1 #0\nHardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014\nRIP: 0010:jffs2_link_node_ref+0x570/0x690 fs/jffs2/nodelist.c:592\nCall Trace:\n <TASK>\n jffs2_sum_write_data fs/jffs2/summary.c:841 [inline]\n jffs2_sum_write_sumnode+0xd1a/0x1da0 fs/jffs2/summary.c:874\n jffs2_do_reserve_space+0xa18/0xd60 fs/jffs2/nodemgmt.c:388\n jffs2_reserve_space+0x55f/0xaa0 fs/jffs2/nodemgmt.c:197\n jffs2_write_inode_range+0x246/0xb50 fs/jffs2/write.c:362\n jffs2_write_end+0x726/0x15d0 fs/jffs2/file.c:301\n generic_perform_write+0x314/0x5d0 mm/filemap.c:3856\n __generic_file_write_iter+0x2ae/0x4d0 mm/filemap.c:3973\n generic_file_write_iter+0xe3/0x350 mm/filemap.c:4005\n call_write_iter include/linux/fs.h:2265 [inline]\n do_iter_readv_writev+0x20f/0x3c0 fs/read_write.c:735\n do_iter_write+0x186/0x710 fs/read_write.c:861\n vfs_iter_write+0x70/0xa0 fs/read_write.c:902\n iter_file_splice_write+0x73b/0xc90 fs/splice.c:685\n do_splice_from fs/splice.c:763 [inline]\n direct_splice_actor+0x10c/0x170 fs/splice.c:950\n splice_direct_to_actor+0x337/0xa10 fs/splice.c:896\n do_splice_direct+0x1a9/0x280 fs/splice.c:1002\n do_sendfile+0xb13/0x12c0 fs/read_write.c:1255\n __do_sys_sendfile64 fs/read_write.c:1323 [inline]\n __se_sys_sendfile64 fs/read_write.c:1309 [inline]\n __x64_sys_sendfile64+0x1cf/0x210 fs/read_write.c:1309\n do_syscall_x64 arch/x86/entry/common.c:51 [inline]\n do_syscall_64+0x35/0x80 arch/x86/entry/common.c:81\n entry_SYSCALL_64_after_hwframe+0x6e/0xd8\n\nFix this issue by checking return value of jffs2_prealloc_raw_node_refs\nbefore calling jffs2_sum_write_data.\n\nFound by Linux Verification Center (linuxtesting.org) with Syzkaller.","publishedAt":"2025-07-04T13:37:17.922Z","updatedAt":"2026-05-11T21:23:04.119Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"2f785402f39b96a077b6e62bf26164bfb8e0c980","status":"affected","lessThan":"337f80f3d546e131c7aa90b61d8cde051ae858c7","versionType":"git"},{"version":"2f785402f39b96a077b6e62bf26164bfb8e0c980","status":"affected","lessThan":"8ce46dc5b10b0b6f67663202a4921b0e11ad7367","versionType":"git"},{"version":"2f785402f39b96a077b6e62bf26164bfb8e0c980","status":"affected","lessThan":"4adee34098a6ee86a54bf3ec885eab620c126a6b","versionType":"git"},{"version":"2f785402f39b96a077b6e62bf26164bfb8e0c980","status":"affected","lessThan":"c0edcdb4fc106d69a2d1a0ce4868193511c389f3","versionType":"git"},{"version":"2f785402f39b96a077b6e62bf26164bfb8e0c980","status":"affected","lessThan":"3f46644a5131a4793fc95c32a7d0a769745b06e7","versionType":"git"},{"version":"2f785402f39b96a077b6e62bf26164bfb8e0c980","status":"affected","lessThan":"da12ef7e19048dc5714032c2db587a215852b200","versionType":"git"},{"version":"2f785402f39b96a077b6e62bf26164bfb8e0c980","status":"affected","lessThan":"346cfb9d19ea7feb6fb57917b21c4797fb444dab","versionType":"git"},{"version":"2f785402f39b96a077b6e62bf26164bfb8e0c980","status":"affected","lessThan":"ec9e6f22bce433b260ea226de127ec68042849b0","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/jffs2/summary.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.18","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.18","versionType":"semver"},{"version":"5.4.295","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.239","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.186","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.142","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.95","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.35","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.15.4","status":"unaffected","lessThanOrEqual":"6.15.*","versionType":"semver"},{"version":"6.16","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/jffs2/summary.c"]}],"references":["https://git.kernel.org/stable/c/337f80f3d546e131c7aa90b61d8cde051ae858c7","https://git.kernel.org/stable/c/8ce46dc5b10b0b6f67663202a4921b0e11ad7367","https://git.kernel.org/stable/c/4adee34098a6ee86a54bf3ec885eab620c126a6b","https://git.kernel.org/stable/c/c0edcdb4fc106d69a2d1a0ce4868193511c389f3","https://git.kernel.org/stable/c/3f46644a5131a4793fc95c32a7d0a769745b06e7","https://git.kernel.org/stable/c/da12ef7e19048dc5714032c2db587a215852b200","https://git.kernel.org/stable/c/346cfb9d19ea7feb6fb57917b21c4797fb444dab","https://git.kernel.org/stable/c/ec9e6f22bce433b260ea226de127ec68042849b0","https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html","https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html"],"weaknesses":[],"ingestedAt":"2026-10-29T20:09:09.358Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/38xxx/CVE-2025-38194.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-38194","state":"PUBLISHED","datePublished":"2025-07-04T13:37:17.922Z","dateUpdated":"2026-05-11T21:23:04.119Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-04-16T04:51:23.993Z"},"containers":{"cna":{"title":"jffs2: check that raw node were preallocated before writing summary","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\njffs2: check that raw node were preallocated before writing summary\n\nSyzkaller detected a kernel bug in jffs2_link_node_ref, caused by fault\ninjection in jffs2_prealloc_raw_node_refs. jffs2_sum_write_sumnode doesn't\ncheck return value of jffs2_prealloc_raw_node_refs and simply lets any\nerror propagate into jffs2_sum_write_data, which eventually calls\njffs2_link_node_ref in order to link the summary to an expectedly allocated\nnode.\n\nkernel BUG at fs/jffs2/nodelist.c:592!\ninvalid opcode: 0000 [#1] PREEMPT SMP KASAN NOPTI\nCPU: 1 PID: 31277 Comm: syz-executor.7 Not tainted 6.1.128-syzkaller-00139-ge10f83ca10a1 #0\nHardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014\nRIP: 0010:jffs2_link_node_ref+0x570/0x690 fs/jffs2/nodelist.c:592\nCall Trace:\n <TASK>\n jffs2_sum_write_data fs/jffs2/summary.c:841 [inline]\n jffs2_sum_write_sumnode+0xd1a/0x1da0 fs/jffs2/summary.c:874\n jffs2_do_reserve_space+0xa18/0xd60 fs/jffs2/nodemgmt.c:388\n jffs2_reserve_space+0x55f/0xaa0 fs/jffs2/nodemgmt.c:197\n jffs2_write_inode_range+0x246/0xb50 fs/jffs2/write.c:362\n jffs2_write_end+0x726/0x15d0 fs/jffs2/file.c:301\n generic_perform_write+0x314/0x5d0 mm/filemap.c:3856\n __generic_file_write_iter+0x2ae/0x4d0 mm/filemap.c:3973\n generic_file_write_iter+0xe3/0x350 mm/filemap.c:4005\n call_write_iter include/linux/fs.h:2265 [inline]\n do_iter_readv_writev+0x20f/0x3c0 fs/read_write.c:735\n do_iter_write+0x186/0x710 fs/read_write.c:861\n vfs_iter_write+0x70/0xa0 fs/read_write.c:902\n iter_file_splice_write+0x73b/0xc90 fs/splice.c:685\n do_splice_from fs/splice.c:763 [inline]\n direct_splice_actor+0x10c/0x170 fs/splice.c:950\n splice_direct_to_actor+0x337/0xa10 fs/splice.c:896\n do_splice_direct+0x1a9/0x280 fs/splice.c:1002\n do_sendfile+0xb13/0x12c0 fs/read_write.c:1255\n __do_sys_sendfile64 fs/read_write.c:1323 [inline]\n __se_sys_sendfile64 fs/read_write.c:1309 [inline]\n __x64_sys_sendfile64+0x1cf/0x210 fs/read_write.c:1309\n do_syscall_x64 arch/x86/entry/common.c:51 [inline]\n do_syscall_64+0x35/0x80 arch/x86/entry/common.c:81\n entry_SYSCALL_64_after_hwframe+0x6e/0xd8\n\nFix this issue by checking return value of jffs2_prealloc_raw_node_refs\nbefore calling jffs2_sum_write_data.\n\nFound by Linux Verification Center (linuxtesting.org) with Syzkaller."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"2f785402f39b96a077b6e62bf26164bfb8e0c980","status":"affected","lessThan":"337f80f3d546e131c7aa90b61d8cde051ae858c7","versionType":"git"},{"version":"2f785402f39b96a077b6e62bf26164bfb8e0c980","status":"affected","lessThan":"8ce46dc5b10b0b6f67663202a4921b0e11ad7367","versionType":"git"},{"version":"2f785402f39b96a077b6e62bf26164bfb8e0c980","status":"affected","lessThan":"4adee34098a6ee86a54bf3ec885eab620c126a6b","versionType":"git"},{"version":"2f785402f39b96a077b6e62bf26164bfb8e0c980","status":"affected","lessThan":"c0edcdb4fc106d69a2d1a0ce4868193511c389f3","versionType":"git"},{"version":"2f785402f39b96a077b6e62bf26164bfb8e0c980","status":"affected","lessThan":"3f46644a5131a4793fc95c32a7d0a769745b06e7","versionType":"git"},{"version":"2f785402f39b96a077b6e62bf26164bfb8e0c980","status":"affected","lessThan":"da12ef7e19048dc5714032c2db587a215852b200","versionType":"git"},{"version":"2f785402f39b96a077b6e62bf26164bfb8e0c980","status":"affected","lessThan":"346cfb9d19ea7feb6fb57917b21c4797fb444dab","versionType":"git"},{"version":"2f785402f39b96a077b6e62bf26164bfb8e0c980","status":"affected","lessThan":"ec9e6f22bce433b260ea226de127ec68042849b0","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/jffs2/summary.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.18","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.18","versionType":"semver"},{"version":"5.4.295","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.239","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.186","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.142","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.95","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.35","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.15.4","status":"unaffected","lessThanOrEqual":"6.15.*","versionType":"semver"},{"version":"6.16","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/jffs2/summary.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/337f80f3d546e131c7aa90b61d8cde051ae858c7"},{"url":"https://git.kernel.org/stable/c/8ce46dc5b10b0b6f67663202a4921b0e11ad7367"},{"url":"https://git.kernel.org/stable/c/4adee34098a6ee86a54bf3ec885eab620c126a6b"},{"url":"https://git.kernel.org/stable/c/c0edcdb4fc106d69a2d1a0ce4868193511c389f3"},{"url":"https://git.kernel.org/stable/c/3f46644a5131a4793fc95c32a7d0a769745b06e7"},{"url":"https://git.kernel.org/stable/c/da12ef7e19048dc5714032c2db587a215852b200"},{"url":"https://git.kernel.org/stable/c/346cfb9d19ea7feb6fb57917b21c4797fb444dab"},{"url":"https://git.kernel.org/stable/c/ec9e6f22bce433b260ea226de127ec68042849b0"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T21:23:04.119Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"5.4.295"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"5.10.239"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"5.15.186"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"6.1.142"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"6.6.95"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"6.12.35"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"6.15.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"6.16"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html"},{"url":"https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html"}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2025-11-03T17:35:19.096Z"}}]}}}