In the Linux kernel, the following vulnerability has been resolved:
userfaultfd: release page in error path to avoid BUG_ON
Consider the following sequence of events:
This triggers a BUG_ON in our caller, which asserts that the page
should always be consumed, unless -ENOENT is returned.
To fix this, detect if we have such a “dangling” page when accounting
fails, and if so, release it before returning.
[
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"mm/shmem.c"
],
"versions": [
{
"version": "cb658a453b93",
"lessThan": "319116227e52",
"status": "affected",
"versionType": "git"
},
{
"version": "cb658a453b93",
"lessThan": "07c9b834c97d",
"status": "affected",
"versionType": "git"
},
{
"version": "cb658a453b93",
"lessThan": "b3f1731c6d7f",
"status": "affected",
"versionType": "git"
},
{
"version": "cb658a453b93",
"lessThan": "140cfd998012",
"status": "affected",
"versionType": "git"
},
{
"version": "cb658a453b93",
"lessThan": "ad5312797303",
"status": "affected",
"versionType": "git"
},
{
"version": "cb658a453b93",
"lessThan": "2d59a0ed8b26",
"status": "affected",
"versionType": "git"
},
{
"version": "cb658a453b93",
"lessThan": "7ed9d238c7db",
"status": "affected",
"versionType": "git"
}
]
},
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "affected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"mm/shmem.c"
],
"versions": [
{
"version": "4.11",
"status": "affected"
},
{
"version": "0",
"lessThan": "4.11",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "4.14.233",
"lessThanOrEqual": "4.14.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "4.19.191",
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.4.120",
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.10.38",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.11.22",
"lessThanOrEqual": "5.11.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.12.5",
"lessThanOrEqual": "5.12.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.13",
"lessThanOrEqual": "*",
"status": "unaffected",
"versionType": "original_commit_for_fix"
}
]
}
]
git.kernel.org/stable/c/07c9b834c97d0fa3402fb7f3f3b32df370a6ff1f
git.kernel.org/stable/c/140cfd9980124aecb6c03ef2e69c72d0548744de
git.kernel.org/stable/c/2d59a0ed8b26b8f3638d8afc31f839e27759f1f6
git.kernel.org/stable/c/319116227e52d49eee671f0aa278bac89b3c1b69
git.kernel.org/stable/c/7ed9d238c7dbb1fdb63ad96a6184985151b0171c
git.kernel.org/stable/c/ad53127973034c63b5348715a1043d0e80ceb330
git.kernel.org/stable/c/b3f1731c6d7fbc1ebe3ed8eff6d6bec56d76ff43