]> Git Repo - linux.git/commit
Squashfs: fix variable overflow in squashfs_readpage_block
authorPhillip Lougher <[email protected]>
Sun, 20 Oct 2024 23:22:00 +0000 (00:22 +0100)
committerAndrew Morton <[email protected]>
Thu, 31 Oct 2024 03:14:12 +0000 (20:14 -0700)
commitd31638ff6c5437ca2968d6c22fb16524fd485013
tree64948463ca950201cb89248b4b22514bf8ffb735
parent330d8df81f3673d6fb74550bbc9bb159d81b35f7
Squashfs: fix variable overflow in squashfs_readpage_block

Syzbot reports a slab out of bounds access in squashfs_readpage_block().

This is caused by an attempt to read page index 0x2000000000.  This value
(start_index) is stored in an integer loop variable which overflows
producing a value of 0.  This causes a loop which iterates over pages
start_index -> end_index to iterate over 0 -> end_index, which ultimately
causes an out of bounds page array access.

Fix by changing variable to a loff_t, and rename to index to make it
clearer it is a page index, and not a loop count.

Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Phillip Lougher <[email protected]>
Reported-by: "Lai, Yi" <[email protected]>
Closes: https://lore.kernel.org/all/ZwzcnCAosIPqQ9Ie@ly-workstation/
Signed-off-by: Andrew Morton <[email protected]>
fs/squashfs/file_direct.c
This page took 0.050036 seconds and 4 git commands to generate.