In the Linux kernel, the following vulnerability has been resolved:
nilfs2: fix missing cleanup on rollforward recovery error
In an error injection test of a routine for mount-time recovery, KASAN
found a use-after-free bug.
It turned out that if data recovery was performed using partial logs
created by dsync writes, but an error occurred before starting the log
writer to create a recovered checkpoint, the inodes whose data had been
recovered were left in the ns_dirty_files list of the nilfs object and
were not freed.
Fix this issue by cleaning up inodes that have read the recovery data if
the recovery routine fails midway before the log writer starts.
[
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"fs/nilfs2/recovery.c"
],
"versions": [
{
"version": "0f3e1c7f23f8",
"lessThan": "35a9a7a7d946",
"status": "affected",
"versionType": "git"
},
{
"version": "0f3e1c7f23f8",
"lessThan": "da02f9eb3333",
"status": "affected",
"versionType": "git"
},
{
"version": "0f3e1c7f23f8",
"lessThan": "07e4dc2fe000",
"status": "affected",
"versionType": "git"
},
{
"version": "0f3e1c7f23f8",
"lessThan": "8e2d1e9d93c4",
"status": "affected",
"versionType": "git"
},
{
"version": "0f3e1c7f23f8",
"lessThan": "ca92c4bff283",
"status": "affected",
"versionType": "git"
},
{
"version": "0f3e1c7f23f8",
"lessThan": "9d8c3a585d56",
"status": "affected",
"versionType": "git"
},
{
"version": "0f3e1c7f23f8",
"lessThan": "1cf1f7e8cd47",
"status": "affected",
"versionType": "git"
},
{
"version": "0f3e1c7f23f8",
"lessThan": "5787fcaab9eb",
"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/recovery.c"
],
"versions": [
{
"version": "2.6.30",
"status": "affected"
},
{
"version": "0",
"lessThan": "2.6.30",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "4.19.322",
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.4.284",
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.10.226",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.15.167",
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.1.110",
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.6.51",
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.10.10",
"lessThanOrEqual": "6.10.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.11",
"lessThanOrEqual": "*",
"status": "unaffected",
"versionType": "original_commit_for_fix"
}
]
}
]
git.kernel.org/stable/c/07e4dc2fe000ab008bcfe90be4324ef56b5b4355
git.kernel.org/stable/c/1cf1f7e8cd47244fa947d357ef1f642d91e219a3
git.kernel.org/stable/c/35a9a7a7d94662146396199b0cfd95f9517cdd14
git.kernel.org/stable/c/5787fcaab9eb5930f5378d6a1dd03d916d146622
git.kernel.org/stable/c/8e2d1e9d93c4ec51354229361ac3373058529ec4
git.kernel.org/stable/c/9d8c3a585d564d776ee60d4aabec59b404be7403
git.kernel.org/stable/c/ca92c4bff2833cb30d493b935168d6cccd5c805d
git.kernel.org/stable/c/da02f9eb333333b2e4f25d2a14967cff785ac82e