CVEvulnerability
CVE-2025-40049
- Status
- Deferred
- Published
- 2025-10-28
- Last modified
- 2026-10-19
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Description
In the Linux kernel, the following vulnerability has been resolved:
Squashfs: fix uninit-value in squashfs_get_parent
Syzkaller reports a "KMSAN: uninit-value in squashfs_get_parent" bug.
This is caused by open_by_handle_at() being called with a file handle
containing an invalid parent inode number. In particular the inode number
is that of a symbolic link, rather than a directory.
Squashfs_get_parent() gets called with that symbolic link inode, and
accesses the parent member field.
unsigned int parent_ino = squashfs_i(inode)->parent;
Because non-directory inodes in Squashfs do not have a parent value, this
is uninitialised, and this causes an uninitialised value access.
The fix is to initialise parent with the invalid inode 0, which will cause
an EINVAL error to be returned.
Regular inodes used to share the parent field with the block_list_start
field. This is removed in this commit to enable the parent field to
contain the invalid inode number 0.
References
- https://git.kernel.org/stable/c/1b3ccd0019132880c94bb00ca7088c1749308f82 git.kernel.org
- https://git.kernel.org/stable/c/382a47fae449e554ef1e8c198667fd2f3270b945 git.kernel.org
- https://git.kernel.org/stable/c/61d38b5ce2782bff3cacaacbb8164087a73ed1a5 git.kernel.org
- https://git.kernel.org/stable/c/74058c0a9fc8b2b4d5f4a0ef7ee2cfa66a9e49cf git.kernel.org
- https://git.kernel.org/stable/c/81a2bca52d43fc9d9abf07408b91255131c5dc53 git.kernel.org
- https://git.kernel.org/stable/c/91b99db7a92e57ff48a96a1b10fddfd2547e7f53 git.kernel.org
- https://git.kernel.org/stable/c/c28b0ca029edf5d0558abcd76cb8c732706cd339 git.kernel.org
- https://git.kernel.org/stable/c/f81a5bc9e924ee1950e0dd82bd10749048390f6e git.kernel.org