In the Linux kernel, the following vulnerability has been resolved:
iommu/arm-smmu-v3-sva: Fix mm use-after-free
We currently call arm64mmcontext_put() without holding a reference to the mm, which can result in use-after-free. Call mmgrab()/mmdrop() to ensure the mm only gets freed after we unpinned the ASID.
[
{
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-49426-0436eaf0",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9aa215450888cf29af0c479e14a712dc6b0c506c",
"digest": {
"function_hash": "117647168439576844901761699548261060643",
"length": 1708.0
},
"signature_type": "Function",
"target": {
"function": "arm_smmu_alloc_shared_cd",
"file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c"
}
},
{
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-49426-094738cd",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9aa215450888cf29af0c479e14a712dc6b0c506c",
"digest": {
"line_hashes": [
"199573941502738814452273173395105972395",
"23068384874534669659628255196597326708",
"202949095744626106972546117117116375785",
"158151029981066433713762111506164205472",
"112837849013932809601270773104694385435",
"90982313822912604033315813153414078760",
"13246362121769456088733132721556661224",
"113230354026799769919584743244097264742",
"60306163660711205910268308053210484209",
"88973013800609819949721058658400708985",
"274428946425137881025843349700974104862",
"246130972882053069699042413327490686288",
"91247126806594947508766274098564275590",
"251596126171393086971417483863373865975",
"216809506739376898110161298169755642165",
"81094426699474786090058490095878523322",
"177201651471177715126504882238810783671"
],
"threshold": 0.9
},
"signature_type": "Line",
"target": {
"file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c"
}
},
{
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-49426-17358f40",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9aa215450888cf29af0c479e14a712dc6b0c506c",
"digest": {
"function_hash": "294772309241658971167591615552430852744",
"length": 121.0
},
"signature_type": "Function",
"target": {
"function": "arm_smmu_free_shared_cd",
"file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c"
}
},
{
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-49426-52f80c18",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cbd23144f7662b00bcde32a938c4a4057e476d68",
"digest": {
"function_hash": "117647168439576844901761699548261060643",
"length": 1708.0
},
"signature_type": "Function",
"target": {
"function": "arm_smmu_alloc_shared_cd",
"file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c"
}
},
{
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-49426-5745ec1e",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cbd23144f7662b00bcde32a938c4a4057e476d68",
"digest": {
"function_hash": "294772309241658971167591615552430852744",
"length": 121.0
},
"signature_type": "Function",
"target": {
"function": "arm_smmu_free_shared_cd",
"file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c"
}
},
{
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-49426-85a744aa",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3cbbdbff8a4db5d053c53fd71be62ccccdb52b0",
"digest": {
"line_hashes": [
"199573941502738814452273173395105972395",
"23068384874534669659628255196597326708",
"202949095744626106972546117117116375785",
"158151029981066433713762111506164205472",
"112837849013932809601270773104694385435",
"90982313822912604033315813153414078760",
"13246362121769456088733132721556661224",
"113230354026799769919584743244097264742",
"60306163660711205910268308053210484209",
"88973013800609819949721058658400708985",
"274428946425137881025843349700974104862",
"246130972882053069699042413327490686288",
"91247126806594947508766274098564275590",
"251596126171393086971417483863373865975",
"216809506739376898110161298169755642165",
"81094426699474786090058490095878523322",
"177201651471177715126504882238810783671"
],
"threshold": 0.9
},
"signature_type": "Line",
"target": {
"file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c"
}
},
{
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-49426-ae3d82c9",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fc90f13ea0dcd960e5002d204fa55cec4e0db2fa",
"digest": {
"function_hash": "294772309241658971167591615552430852744",
"length": 121.0
},
"signature_type": "Function",
"target": {
"function": "arm_smmu_free_shared_cd",
"file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c"
}
},
{
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-49426-bd2d688c",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cbd23144f7662b00bcde32a938c4a4057e476d68",
"digest": {
"line_hashes": [
"199573941502738814452273173395105972395",
"23068384874534669659628255196597326708",
"202949095744626106972546117117116375785",
"158151029981066433713762111506164205472",
"112837849013932809601270773104694385435",
"90982313822912604033315813153414078760",
"13246362121769456088733132721556661224",
"113230354026799769919584743244097264742",
"60306163660711205910268308053210484209",
"88973013800609819949721058658400708985",
"274428946425137881025843349700974104862",
"246130972882053069699042413327490686288",
"91247126806594947508766274098564275590",
"251596126171393086971417483863373865975",
"216809506739376898110161298169755642165",
"81094426699474786090058490095878523322",
"177201651471177715126504882238810783671"
],
"threshold": 0.9
},
"signature_type": "Line",
"target": {
"file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c"
}
},
{
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-49426-c17f1d1f",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fc90f13ea0dcd960e5002d204fa55cec4e0db2fa",
"digest": {
"line_hashes": [
"199573941502738814452273173395105972395",
"23068384874534669659628255196597326708",
"202949095744626106972546117117116375785",
"158151029981066433713762111506164205472",
"112837849013932809601270773104694385435",
"90982313822912604033315813153414078760",
"13246362121769456088733132721556661224",
"113230354026799769919584743244097264742",
"60306163660711205910268308053210484209",
"88973013800609819949721058658400708985",
"274428946425137881025843349700974104862",
"246130972882053069699042413327490686288",
"91247126806594947508766274098564275590",
"251596126171393086971417483863373865975",
"216809506739376898110161298169755642165",
"81094426699474786090058490095878523322",
"177201651471177715126504882238810783671"
],
"threshold": 0.9
},
"signature_type": "Line",
"target": {
"file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c"
}
},
{
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-49426-c19ab581",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3cbbdbff8a4db5d053c53fd71be62ccccdb52b0",
"digest": {
"function_hash": "117647168439576844901761699548261060643",
"length": 1708.0
},
"signature_type": "Function",
"target": {
"function": "arm_smmu_alloc_shared_cd",
"file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c"
}
},
{
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-49426-c468cd74",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3cbbdbff8a4db5d053c53fd71be62ccccdb52b0",
"digest": {
"function_hash": "294772309241658971167591615552430852744",
"length": 121.0
},
"signature_type": "Function",
"target": {
"function": "arm_smmu_free_shared_cd",
"file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c"
}
},
{
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-49426-fc321b19",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fc90f13ea0dcd960e5002d204fa55cec4e0db2fa",
"digest": {
"function_hash": "117647168439576844901761699548261060643",
"length": 1708.0
},
"signature_type": "Function",
"target": {
"function": "arm_smmu_alloc_shared_cd",
"file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c"
}
}
]