In the Linux kernel, the following vulnerability has been resolved:
x86/mm: Fix pti_clone_pgtable() alignment assumption
Guenter reported dodgy crashes on an i386-nosmp build using GCC-11
that had the form of endless traps until entry stack exhaust and then
#DF from the stack guard.
It turned out that pti_clone_pgtable() had alignment assumptions on
the start address, notably it hard assumes start is PMD aligned. This
is true on x86_64, but very much not true on i386.
These assumptions can cause the end condition to malfunction, leading
to a ‘short’ clone. Guess what happens when the user mapping has a
short copy of the entry text?
Use the correct increment form for addr to avoid alignment
assumptions.
[
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"arch/x86/mm/pti.c"
],
"versions": [
{
"version": "16a3fe634f6a",
"lessThan": "18da1b27ce16",
"status": "affected",
"versionType": "git"
},
{
"version": "16a3fe634f6a",
"lessThan": "25a727233a40",
"status": "affected",
"versionType": "git"
},
{
"version": "16a3fe634f6a",
"lessThan": "d00c9b4bbc44",
"status": "affected",
"versionType": "git"
},
{
"version": "16a3fe634f6a",
"lessThan": "4d143ae78200",
"status": "affected",
"versionType": "git"
},
{
"version": "16a3fe634f6a",
"lessThan": "5c580c1050bc",
"status": "affected",
"versionType": "git"
},
{
"version": "16a3fe634f6a",
"lessThan": "ca07aab70dd3",
"status": "affected",
"versionType": "git"
},
{
"version": "16a3fe634f6a",
"lessThan": "df3eecb5496f",
"status": "affected",
"versionType": "git"
},
{
"version": "16a3fe634f6a",
"lessThan": "41e71dbb0e0a",
"status": "affected",
"versionType": "git"
}
]
},
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "affected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"arch/x86/mm/pti.c"
],
"versions": [
{
"version": "4.19",
"status": "affected"
},
{
"version": "0",
"lessThan": "4.19",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "4.19.320",
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.4.282",
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.10.224",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.15.165",
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.1.105",
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.6.46",
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.10.5",
"lessThanOrEqual": "6.10.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.11",
"lessThanOrEqual": "*",
"status": "unaffected",
"versionType": "original_commit_for_fix"
}
]
}
]
git.kernel.org/stable/c/18da1b27ce16a14a9b636af9232acb4fb24f4c9e
git.kernel.org/stable/c/25a727233a40a9b33370eec9f0cad67d8fd312f8
git.kernel.org/stable/c/41e71dbb0e0a0fe214545fe64af031303a08524c
git.kernel.org/stable/c/4d143ae782009b43b4f366402e5c37f59d4e4346
git.kernel.org/stable/c/5c580c1050bcbc15c3e78090859d798dcf8c9763
git.kernel.org/stable/c/ca07aab70dd3b5e7fddb62d7a6ecd7a7d6d0b2ed
git.kernel.org/stable/c/d00c9b4bbc442d99e1dafbdfdab848bc1ead73f6
git.kernel.org/stable/c/df3eecb5496f87263d171b254ca6e2758ab3c35c