In the Linux kernel, the following vulnerability has been resolved:
erofs: fix inconsistent per-file compression format
EROFS can select compression algorithms on a per-file basis, and each
per-file compression algorithm needs to be marked in the on-disk
superblock for initialization.
However, syzkaller can generate inconsistent crafted images that use
an unsupported algorithmtype for specific inodes, e.g. use MicroLZMA
algorithmtype even it’s not set in sbi->available_compr_algs
. This
can lead to an unexpected “BUG: kernel NULL pointer dereference” if
the corresponding decompressor isn’t built-in.
Fix this by checking against sbi->available_compr_algs
for each
m_algorithmformat request. Incorrect !erofs_sb_has_compr_cfgs preset
bitmap is now fixed together since it was harmless previously.
[
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "8f89926290c4",
"lessThan": "47467e04816c",
"versionType": "git"
},
{
"status": "affected",
"version": "8f89926290c4",
"lessThan": "823ba1d21060",
"versionType": "git"
},
{
"status": "affected",
"version": "8f89926290c4",
"lessThan": "eed24b816e50",
"versionType": "git"
},
{
"status": "affected",
"version": "8f89926290c4",
"lessThan": "118a8cf504d7",
"versionType": "git"
}
],
"programFiles": [
"fs/erofs/decompressor.c",
"fs/erofs/zmap.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "5.16"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "5.16",
"versionType": "custom"
},
{
"status": "unaffected",
"version": "6.1.80",
"versionType": "custom",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.14",
"versionType": "custom",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.7.2",
"versionType": "custom",
"lessThanOrEqual": "6.7.*"
},
{
"status": "unaffected",
"version": "6.8",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"fs/erofs/decompressor.c",
"fs/erofs/zmap.c"
],
"defaultStatus": "affected"
}
]