CVE-2025-40049
Full vulnerability record from the local CVENow database.
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.
View original CVE JSON
{
"id": "CVE-2025-40049",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2025-10-28T12:15:39.043",
"lastModified": "2026-10-19T21:10:00.160",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nSquashfs: fix uninit-value in squashfs_get_parent\n\nSyzkaller reports a \"KMSAN: uninit-value in squashfs_get_parent\" bug.\n\nThis is caused by open_by_handle_at() being called with a file handle\ncontaining an invalid parent inode number. In particular the inode number\nis that of a symbolic link, rather than a directory.\n\nSquashfs_get_parent() gets called with that symbolic link inode, and\naccesses the parent member field.\n\n\tunsigned int parent_ino = squashfs_i(inode)->parent;\n\nBecause non-directory inodes in Squashfs do not have a parent value, this\nis uninitialised, and this causes an uninitialised value access.\n\nThe fix is to initialise parent with the invalid inode 0, which will cause\nan EINVAL error to be returned.\n\nRegular inodes used to share the parent field with the block_list_start\nfield. This is removed in this commit to enable the parent field to\ncontain the invalid inode number 0."
},
{
"lang": "es",
"value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\nSquashfs: corrección de valor no inicializado en squashfs_get_parent\n\nSyzkaller informa de un error KMSAN: uninit-value in squashfs_get_parent.\n\nEsto es causado por la llamada a open_by_handle_at() con un descriptor de archivo que contiene un número de inodo padre no válido. En particular, el número de inodo es el de un enlace simbólico, en lugar de un directorio.\n\nSe llama a Squashfs_get_parent() con ese inodo de enlace simbólico y accede al campo miembro parent.\n\n\tunsigned int parent_ino = squashfs_i(inode)->parent;\n\nDebido a que los inodos que no son directorios en Squashfs no tienen un valor parent, esto no está inicializado, y esto causa un acceso a un valor no inicializado.\n\nLa solución es inicializar parent con el inodo no válido 0, lo que hará que se devuelva un error EINVAL.\n\nLos inodos regulares solían compartir el campo parent con el campo block_list_start. Esto se elimina en este commit para permitir que el campo parent contenga el número de inodo no válido 0."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"fs/squashfs/inode.c",
"fs/squashfs/squashfs_fs_i.h"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "122601408d20c77704268f1dea9f9ce4abf997c2",
"lessThan": "f81a5bc9e924ee1950e0dd82bd10749048390f6e",
"versionType": "git",
"status": "affected"
},
{
"version": "122601408d20c77704268f1dea9f9ce4abf997c2",
"lessThan": "382a47fae449e554ef1e8c198667fd2f3270b945",
"versionType": "git",
"status": "affected"
},
{
"version": "122601408d20c77704268f1dea9f9ce4abf997c2",
"lessThan": "61d38b5ce2782bff3cacaacbb8164087a73ed1a5",
"versionType": "git",
"status": "affected"
},
{
"version": "122601408d20c77704268f1dea9f9ce4abf997c2",
"lessThan": "81a2bca52d43fc9d9abf07408b91255131c5dc53",
"versionType": "git",
"status": "affected"
},
{
"version": "122601408d20c77704268f1dea9f9ce4abf997c2",
"lessThan": "c28b0ca029edf5d0558abcd76cb8c732706cd339",
"versionType": "git",
"status": "affected"
},
{
"version": "122601408d20c77704268f1dea9f9ce4abf997c2",
"lessThan": "1b3ccd0019132880c94bb00ca7088c1749308f82",
"versionType": "git",
"status": "affected"
},
{
"version": "122601408d20c77704268f1dea9f9ce4abf997c2",
"lessThan": "91b99db7a92e57ff48a96a1b10fddfd2547e7f53",
"versionType": "git",
"status": "affected"
},
{
"version": "122601408d20c77704268f1dea9f9ce4abf997c2",
"lessThan": "74058c0a9fc8b2b4d5f4a0ef7ee2cfa66a9e49cf",
"versionType": "git",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"fs/squashfs/inode.c",
"fs/squashfs/squashfs_fs_i.h"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "2.6.29",
"status": "affected"
},
{
"version": "0",
"lessThan": "2.6.29",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "5.4.301",
"lessThanOrEqual": "5.4.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "5.10.246",
"lessThanOrEqual": "5.10.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "5.15.195",
"lessThanOrEqual": "5.15.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.1.156",
"lessThanOrEqual": "6.1.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.6.112",
"lessThanOrEqual": "6.6.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.12.53",
"lessThanOrEqual": "6.12.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.17.3",
"lessThanOrEqual": "6.17.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {},
"references": [
{
"url": "https://git.kernel.org/stable/c/1b3ccd0019132880c94bb00ca7088c1749308f82",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/382a47fae449e554ef1e8c198667fd2f3270b945",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/61d38b5ce2782bff3cacaacbb8164087a73ed1a5",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/74058c0a9fc8b2b4d5f4a0ef7ee2cfa66a9e49cf",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/81a2bca52d43fc9d9abf07408b91255131c5dc53",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/91b99db7a92e57ff48a96a1b10fddfd2547e7f53",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/c28b0ca029edf5d0558abcd76cb8c732706cd339",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/f81a5bc9e924ee1950e0dd82bd10749048390f6e",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}