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.
[ { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9aa215450888cf29af0c479e14a712dc6b0c506c", "target": { "function": "arm_smmu_alloc_shared_cd", "file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c" }, "digest": { "function_hash": "117647168439576844901761699548261060643", "length": 1708.0 }, "deprecated": false, "id": "CVE-2022-49426-0436eaf0", "signature_type": "Function", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9aa215450888cf29af0c479e14a712dc6b0c506c", "target": { "file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c" }, "digest": { "line_hashes": [ "199573941502738814452273173395105972395", "23068384874534669659628255196597326708", "202949095744626106972546117117116375785", "158151029981066433713762111506164205472", "112837849013932809601270773104694385435", "90982313822912604033315813153414078760", "13246362121769456088733132721556661224", "113230354026799769919584743244097264742", "60306163660711205910268308053210484209", "88973013800609819949721058658400708985", "274428946425137881025843349700974104862", "246130972882053069699042413327490686288", "91247126806594947508766274098564275590", "251596126171393086971417483863373865975", "216809506739376898110161298169755642165", "81094426699474786090058490095878523322", "177201651471177715126504882238810783671" ], "threshold": 0.9 }, "deprecated": false, "id": "CVE-2022-49426-094738cd", "signature_type": "Line", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9aa215450888cf29af0c479e14a712dc6b0c506c", "target": { "function": "arm_smmu_free_shared_cd", "file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c" }, "digest": { "function_hash": "294772309241658971167591615552430852744", "length": 121.0 }, "deprecated": false, "id": "CVE-2022-49426-17358f40", "signature_type": "Function", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cbd23144f7662b00bcde32a938c4a4057e476d68", "target": { "function": "arm_smmu_alloc_shared_cd", "file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c" }, "digest": { "function_hash": "117647168439576844901761699548261060643", "length": 1708.0 }, "deprecated": false, "id": "CVE-2022-49426-52f80c18", "signature_type": "Function", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cbd23144f7662b00bcde32a938c4a4057e476d68", "target": { "function": "arm_smmu_free_shared_cd", "file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c" }, "digest": { "function_hash": "294772309241658971167591615552430852744", "length": 121.0 }, "deprecated": false, "id": "CVE-2022-49426-5745ec1e", "signature_type": "Function", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3cbbdbff8a4db5d053c53fd71be62ccccdb52b0", "target": { "file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c" }, "digest": { "line_hashes": [ "199573941502738814452273173395105972395", "23068384874534669659628255196597326708", "202949095744626106972546117117116375785", "158151029981066433713762111506164205472", "112837849013932809601270773104694385435", "90982313822912604033315813153414078760", "13246362121769456088733132721556661224", "113230354026799769919584743244097264742", "60306163660711205910268308053210484209", "88973013800609819949721058658400708985", "274428946425137881025843349700974104862", "246130972882053069699042413327490686288", "91247126806594947508766274098564275590", "251596126171393086971417483863373865975", "216809506739376898110161298169755642165", "81094426699474786090058490095878523322", "177201651471177715126504882238810783671" ], "threshold": 0.9 }, "deprecated": false, "id": "CVE-2022-49426-85a744aa", "signature_type": "Line", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fc90f13ea0dcd960e5002d204fa55cec4e0db2fa", "target": { "function": "arm_smmu_free_shared_cd", "file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c" }, "digest": { "function_hash": "294772309241658971167591615552430852744", "length": 121.0 }, "deprecated": false, "id": "CVE-2022-49426-ae3d82c9", "signature_type": "Function", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cbd23144f7662b00bcde32a938c4a4057e476d68", "target": { "file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c" }, "digest": { "line_hashes": [ "199573941502738814452273173395105972395", "23068384874534669659628255196597326708", "202949095744626106972546117117116375785", "158151029981066433713762111506164205472", "112837849013932809601270773104694385435", "90982313822912604033315813153414078760", "13246362121769456088733132721556661224", "113230354026799769919584743244097264742", "60306163660711205910268308053210484209", "88973013800609819949721058658400708985", "274428946425137881025843349700974104862", "246130972882053069699042413327490686288", "91247126806594947508766274098564275590", "251596126171393086971417483863373865975", "216809506739376898110161298169755642165", "81094426699474786090058490095878523322", "177201651471177715126504882238810783671" ], "threshold": 0.9 }, "deprecated": false, "id": "CVE-2022-49426-bd2d688c", "signature_type": "Line", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fc90f13ea0dcd960e5002d204fa55cec4e0db2fa", "target": { "file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c" }, "digest": { "line_hashes": [ "199573941502738814452273173395105972395", "23068384874534669659628255196597326708", "202949095744626106972546117117116375785", "158151029981066433713762111506164205472", "112837849013932809601270773104694385435", "90982313822912604033315813153414078760", "13246362121769456088733132721556661224", "113230354026799769919584743244097264742", "60306163660711205910268308053210484209", "88973013800609819949721058658400708985", "274428946425137881025843349700974104862", "246130972882053069699042413327490686288", "91247126806594947508766274098564275590", "251596126171393086971417483863373865975", "216809506739376898110161298169755642165", "81094426699474786090058490095878523322", "177201651471177715126504882238810783671" ], "threshold": 0.9 }, "deprecated": false, "id": "CVE-2022-49426-c17f1d1f", "signature_type": "Line", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3cbbdbff8a4db5d053c53fd71be62ccccdb52b0", "target": { "function": "arm_smmu_alloc_shared_cd", "file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c" }, "digest": { "function_hash": "117647168439576844901761699548261060643", "length": 1708.0 }, "deprecated": false, "id": "CVE-2022-49426-c19ab581", "signature_type": "Function", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3cbbdbff8a4db5d053c53fd71be62ccccdb52b0", "target": { "function": "arm_smmu_free_shared_cd", "file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c" }, "digest": { "function_hash": "294772309241658971167591615552430852744", "length": 121.0 }, "deprecated": false, "id": "CVE-2022-49426-c468cd74", "signature_type": "Function", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fc90f13ea0dcd960e5002d204fa55cec4e0db2fa", "target": { "function": "arm_smmu_alloc_shared_cd", "file": "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c" }, "digest": { "function_hash": "117647168439576844901761699548261060643", "length": 1708.0 }, "deprecated": false, "id": "CVE-2022-49426-fc321b19", "signature_type": "Function", "signature_version": "v1" } ]