Bug 2536373 (CVE-2026-90118) - CVE-2026-90118 kernel: ntfs: fix off-by-one page overflow in ntfs_decompress()
Summary: CVE-2026-90118 kernel: ntfs: fix off-by-one page overflow in ntfs_decompress()
Keywords:
Status: NEW
Alias: CVE-2026-90118
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-09-17 17:35 UTC by OSIDB Bzimport
Modified: 2026-10-13 12:44 UTC (History)
17 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-09-17 17:35:16 UTC
In the Linux kernel, the following vulnerability has been resolved:

ntfs: fix off-by-one page overflow in ntfs_decompress()

The per-token range check in ntfs_decompress() uses

	if (cb >= cb_sb_end || dp_addr > dp_sb_end)
		break;

so dp_addr == dp_sb_end falls through to the symbol copy
`*dp_addr++ = *cb++`, writing one byte past the destination page.  Since
NTFS_SB_SIZE == PAGE_SIZE the destination is a single page, so the byte
lands in the adjacent page, and *dest_ofs is left one past the sub-block
end (the later `*dest_ofs &= ~PAGE_MASK` then yields 1, not 0, so the page
is never finalized and later sub-blocks keep writing further past it).  A
corrupted compressed $DATA attribute thus produces a bounded run of
out-of-bounds writes when the file is read.

Break as soon as dp_addr reaches dp_sb_end; a full sub-block still
completes, as its final copy advances dp_addr to exactly dp_sb_end.


Note You need to log in before you can comment on or make changes to this bug.