In the Linux kernel, the following vulnerability has been resolved:
watchdog: sc520_wdt: Fix possible use-after-free in wdt_turnoff()
This module’s remove path calls del_timer(). However, that function
does not wait until the timer handler finishes. This means that the
timer handler may still be running after the driver’s remove function
has finished, which would result in a use-after-free.
Fix by calling del_timer_sync(), which makes sure the timer handler
has finished, and unable to re-schedule itself.
[
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/watchdog/sc520_wdt.c"
],
"versions": [
{
"version": "1da177e4c3f4",
"lessThan": "0015581a79bb",
"status": "affected",
"versionType": "git"
},
{
"version": "1da177e4c3f4",
"lessThan": "b4565a8a2d6b",
"status": "affected",
"versionType": "git"
},
{
"version": "1da177e4c3f4",
"lessThan": "2aef07017fae",
"status": "affected",
"versionType": "git"
},
{
"version": "1da177e4c3f4",
"lessThan": "522e75ed63f6",
"status": "affected",
"versionType": "git"
},
{
"version": "1da177e4c3f4",
"lessThan": "7c56c5508dc2",
"status": "affected",
"versionType": "git"
},
{
"version": "1da177e4c3f4",
"lessThan": "a173e3b62cf6",
"status": "affected",
"versionType": "git"
},
{
"version": "1da177e4c3f4",
"lessThan": "b3c41ea5bc34",
"status": "affected",
"versionType": "git"
},
{
"version": "1da177e4c3f4",
"lessThan": "f0feab82f6a0",
"status": "affected",
"versionType": "git"
},
{
"version": "1da177e4c3f4",
"lessThan": "90b7c1411322",
"status": "affected",
"versionType": "git"
}
]
},
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "affected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/watchdog/sc520_wdt.c"
],
"versions": [
{
"version": "4.4.276",
"lessThanOrEqual": "4.4.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "4.9.276",
"lessThanOrEqual": "4.9.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "4.14.240",
"lessThanOrEqual": "4.14.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "4.19.198",
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.4.134",
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.10.52",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.12.19",
"lessThanOrEqual": "5.12.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.13.4",
"lessThanOrEqual": "5.13.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.14",
"lessThanOrEqual": "*",
"status": "unaffected",
"versionType": "original_commit_for_fix"
}
]
}
]
git.kernel.org/stable/c/0015581a79bbf8e521f85dddb7d3e4a66b9f51d4
git.kernel.org/stable/c/2aef07017fae21c3d8acea9656b10e3b9c0f1e04
git.kernel.org/stable/c/522e75ed63f67e815d4ec0deace67df22d9ce78e
git.kernel.org/stable/c/7c56c5508dc20a6b133bc669fc34327a6711c24c
git.kernel.org/stable/c/90b7c141132244e8e49a34a4c1e445cce33e07f4
git.kernel.org/stable/c/a173e3b62cf6dd3c4a0a10c8a82eedfcae81a566
git.kernel.org/stable/c/b3c41ea5bc34d8c7b19e230d80e0e555c6f5057d
git.kernel.org/stable/c/b4565a8a2d6bffb05bfbec11399d261ec16fe373
git.kernel.org/stable/c/f0feab82f6a0323f54d85e8b512a2be64f83648a