In the Linux kernel, the following vulnerability has been resolved:
nilfs2: fix kernel bug on rename operation of broken directory
Syzbot reported that in rename directory operation on broken directory on
nilfs2, __block_write_begin_int() called to prepare block write may fail
BUG_ON check for access exceeding the folio/page size.
This is because nilfs_dotdot(), which gets parent directory reference
entry (“…”) of the directory to be moved or renamed, does not check
consistency enough, and may return location exceeding folio/page size for
broken directories.
Fix this issue by checking required directory entries (“.” and “…”) in
the first chunk of the directory in nilfs_dotdot().
[
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"fs/nilfs2/dir.c"
],
"versions": [
{
"version": "2ba466d74ed7",
"lessThan": "ff9767ba2cb9",
"status": "affected",
"versionType": "git"
},
{
"version": "2ba466d74ed7",
"lessThan": "24c1c8566a9b",
"status": "affected",
"versionType": "git"
},
{
"version": "2ba466d74ed7",
"lessThan": "a9a466a69b85",
"status": "affected",
"versionType": "git"
},
{
"version": "2ba466d74ed7",
"lessThan": "7000b438dda9",
"status": "affected",
"versionType": "git"
},
{
"version": "2ba466d74ed7",
"lessThan": "1a8879c0771a",
"status": "affected",
"versionType": "git"
},
{
"version": "2ba466d74ed7",
"lessThan": "60f61514374e",
"status": "affected",
"versionType": "git"
},
{
"version": "2ba466d74ed7",
"lessThan": "298cd810d7fb",
"status": "affected",
"versionType": "git"
},
{
"version": "2ba466d74ed7",
"lessThan": "a9e1ddc09ca5",
"status": "affected",
"versionType": "git"
}
]
},
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "affected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"fs/nilfs2/dir.c"
],
"versions": [
{
"version": "2.6.30",
"status": "affected"
},
{
"version": "0",
"lessThan": "2.6.30",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "4.19.318",
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.4.280",
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.10.222",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.15.163",
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.1.100",
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.6.41",
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.9.10",
"lessThanOrEqual": "6.9.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.10",
"lessThanOrEqual": "*",
"status": "unaffected",
"versionType": "original_commit_for_fix"
}
]
}
]
git.kernel.org/stable/c/1a8879c0771a68d70ee2e5e66eea34207e8c6231
git.kernel.org/stable/c/24c1c8566a9b6be51f5347be2ea76e25fc82b11e
git.kernel.org/stable/c/298cd810d7fb687c90a14d8f9fd1b8719a7cb8a5
git.kernel.org/stable/c/60f61514374e4a0c3b65b08c6024dd7e26150bfd
git.kernel.org/stable/c/7000b438dda9d0f41a956fc9bffed92d2eb6be0d
git.kernel.org/stable/c/a9a466a69b85059b341239766a10efdd3ee68a4b
git.kernel.org/stable/c/a9e1ddc09ca55746079cc479aa3eb6411f0d99d4
git.kernel.org/stable/c/ff9767ba2cb949701e45e6e4287f8af82986b703