{"id":"CVE-2026-89781","summary":"fs/ntfs3: fix out-of-bounds read in read_log_rec_buf()","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nfs/ntfs3: fix out-of-bounds read in read_log_rec_buf()\n\nread_log_rec_buf() copies a log record into a caller buffer starting at\n\n\tu32 off = lsn_to_page_off(log, lsn) + log-\u003erecord_header_len;\n\nlog-\u003erecord_header_len (and log-\u003edata_off, used for the following pages)\ncomes verbatim from the on-disk restart area and is only checked for\n8-byte alignment in is_rst_area_valid(), so off can exceed\nlog-\u003epage_size. \"tail = log-\u003epage_size - off\" then underflows and\nmemcpy() reads past the page_size-sized buffer returned by\nread_log_page(), spilling adjacent slab memory into the replay buffer.\n\nThis is reachable by mounting a crafted NTFS image:\n\n BUG: KASAN: slab-out-of-bounds in read_log_rec_buf+0x216/0x580\n Read of size 64 at addr ffff88800a877ff8 by task exploit/127\n  read_log_rec_buf fs/ntfs3/fslog.c:2299\n  log_replay fs/ntfs3/fslog.c:4216\n  ntfs_loadlog_and_replay fs/ntfs3/fsntfs.c:324\n  ntfs_fill_super fs/ntfs3/super.c:1392\n  get_tree_bdev_flags fs/super.c:1694\n  __x64_sys_mount fs/namespace.c:4360\n The buggy address is located 4088 bytes to the right of\n the 4096-byte region [ffff88800a876000, ffff88800a877000)\n\nReject an in-page offset outside the current page before the copy.\n\n[almaz.alexandrovich@paragon-software.com: replaced the \u003e= sign with \u003e]","modified":"2026-09-17T03:47:22.462189463Z","published":"2026-09-16T08:48:20.425Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89781.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/1b2d31f1083beb80c55d1152249f652c1445a559"},{"type":"WEB","url":"https://git.kernel.org/stable/c/49f7cbc902b08b56eb7d2633163ecc57a0e7145a"},{"type":"WEB","url":"https://git.kernel.org/stable/c/53e56f7aa1d0f950a8bc2e4cdb3ba9fe45967531"},{"type":"WEB","url":"https://git.kernel.org/stable/c/700973cc65db405bde0368ccf88699390150943e"},{"type":"WEB","url":"https://git.kernel.org/stable/c/74a83aa05f73033af719771ab1f0c269928b4865"},{"type":"WEB","url":"https://git.kernel.org/stable/c/de603b9d377fab57a5e6432fa84a9f36b32c1636"},{"type":"WEB","url":"https://git.kernel.org/stable/c/df099bfdb57773ba7f40f8a9dcc82e75af277922"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89781.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-89781"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"b46acd6a6a627d876898e1c84d3f84902264b445"},{"fixed":"df099bfdb57773ba7f40f8a9dcc82e75af277922"},{"fixed":"1b2d31f1083beb80c55d1152249f652c1445a559"},{"fixed":"700973cc65db405bde0368ccf88699390150943e"},{"fixed":"49f7cbc902b08b56eb7d2633163ecc57a0e7145a"},{"fixed":"74a83aa05f73033af719771ab1f0c269928b4865"},{"fixed":"53e56f7aa1d0f950a8bc2e4cdb3ba9fe45967531"},{"fixed":"de603b9d377fab57a5e6432fa84a9f36b32c1636"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89781.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.15.0"},{"fixed":"5.15.221"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.16.0"},{"fixed":"6.1.188"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.2.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-89781.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}]}