PT-2026-85648 · Linux · Linux
CVE-2026-80807
·
Published
2026-09-04
·
Updated
2026-09-04
None
No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
In the Linux kernel, the following vulnerability has been resolved:
nilfs2: reject invalid block index in GC ioctl
Syzbot reported list corruption caused by a double list add tail() call on
bh->b assoc buffers within nilfs lookup dirty data buffers().
Analysis revealed that the root cause was the insertion of a page/folio
with a page index of ULONG MAX into the page cache via the GC ioctl.
filemap get folios tag(), called by nilfs lookup dirty data buffers(),
repeatedly detects a dirty folio with a page index of ULONG MAX due to
index wrap-around, leading to duplicate processing of dirty buffers.
As a preparatory step, the GC ioctl loads the page/folio of the block to
be moved during GC and inserts it into the page cache based on information
in the nilfs vdesc structure passed as an argument. Normally, this does
not cause issues because the user-space GC library configures the
nilfs vdesc structure properly. However, since there is no range check on
the parameters determining the page index, a request with artificially
crafted parameters -- such as those generated by Syzbot -- can result in a
page/folio being inserted with a page index of ULONG MAX, triggering the
above problem.
This resolves the issue by checking the ranges of 'vd offset' and
'vd vblocknr' in the nilfs vdesc structure that determine the page index,
thereby preventing the invalid page/folio insertions.
Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
Linux