{"id":"CVE-2026-90418","summary":"nilfs2: fix BUG in nilfs_copy_dirty_pages() on dirty state mismatch","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nnilfs2: fix BUG in nilfs_copy_dirty_pages() on dirty state mismatch\n\nSyzbot reported a kernel BUG triggered within nilfs_copy_dirty_pages(),\nwhich copies dirty DAT file folios/pages to its shadow page cache.  The\nBUG occurs when a retrieved dirty folio/page unexpectedly loses its\n'dirty' status.\n\nThis issue arises because, since the commit referenced below, the 'dirty'\nflag of a folio/page can be cleared asynchronously after the filesystem\ndetects metadata corruption and transitions to read-only mode.\n\nResolve the issue by returning an -EROFS error if the filesystem has\ntransitioned to read-only mode.  Also change the behavior to issue a\nkernel warning only once instead of triggering a kernel BUG when this\nunexpected 'dirty' state is detected while the filesystem is not in\nread-only mode.","modified":"2026-09-18T03:48:38.271665516Z","published":"2026-09-17T16:09:43.223Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90418.json"},"references":[{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"},{"type":"WEB","url":"https://git.kernel.org/stable/c/3904fb0ee741ebbbc27ec8f50a9bb6cd31e8af05"},{"type":"WEB","url":"https://git.kernel.org/stable/c/4e1f21e7540b25d83f86b50780836ed7d2afcc93"},{"type":"WEB","url":"https://git.kernel.org/stable/c/5166a21b12f549774f2983fa86d2526ea9e66ace"},{"type":"WEB","url":"https://git.kernel.org/stable/c/66f4ad3ce158902e5f98afea93189972ed8750c2"},{"type":"WEB","url":"https://git.kernel.org/stable/c/f181155baf0c93a74ebe804c6cecbe970e78ee9e"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90418.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-90418"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"8c26c4e2694a163d525976e804d81cd955bbb40c"},{"fixed":"5166a21b12f549774f2983fa86d2526ea9e66ace"},{"fixed":"4e1f21e7540b25d83f86b50780836ed7d2afcc93"},{"fixed":"3904fb0ee741ebbbc27ec8f50a9bb6cd31e8af05"},{"fixed":"f181155baf0c93a74ebe804c6cecbe970e78ee9e"},{"fixed":"66f4ad3ce158902e5f98afea93189972ed8750c2"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-90418.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.10.0"},{"fixed":"6.6.157"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.110"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.52"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.2.6"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-90418.json"}}],"schema_version":"1.9.0"}