In the Linux kernel, the following vulnerability has been resolved:
iommu/amd: Fix I/O page table memory leak
The current logic updates the I/O page table mode for the domain before calling the logic to free memory used for the page table. This results in IOMMU page table memory leak, and can be observed when launching VM w/ pass-through devices.
Fix by freeing the memory used for page table before updating the mode.
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/48xxx/CVE-2022-48904.json",
"cna_assigner": "Linux"
}"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-48904.json"
[
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6b0b2d9a6a308bcd9300c2d83000a82812c56cea",
"digest": {
"threshold": 0.9,
"line_hashes": [
"141309934316173352263090154744206221265",
"156365358467898981835299419373877886664",
"90338082794977363460089722983013530141",
"304647592045775861387212238540583054251",
"102158773101744283200855273705242063706",
"330090183383393708999654593995565908475",
"143305160483524099020323758819963888345",
"304956140165401180025197688978630042094"
]
},
"target": {
"file": "drivers/iommu/amd/io_pgtable.c"
},
"signature_type": "Line",
"deprecated": false,
"id": "CVE-2022-48904-03fda12f"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c78627f757e37c2cf386b59c700c4e1574988597",
"digest": {
"threshold": 0.9,
"line_hashes": [
"141309934316173352263090154744206221265",
"156365358467898981835299419373877886664",
"90338082794977363460089722983013530141",
"304647592045775861387212238540583054251",
"143232009286067666636277614315727474143",
"297722451202315982706500830816035762045",
"336011344512399370088908938614853847742",
"69712537499932375653454275110177318706"
]
},
"target": {
"file": "drivers/iommu/amd/io_pgtable.c"
},
"signature_type": "Line",
"deprecated": false,
"id": "CVE-2022-48904-0f6bca39"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@378e2fe1eb58d5c2ed55c8fe5e11f9db5033cdd6",
"digest": {
"function_hash": "171315738255733908021047173056698153941",
"length": 524.0
},
"target": {
"file": "drivers/iommu/amd/io_pgtable.c",
"function": "v1_free_pgtable"
},
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-48904-4b3c794a"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6b0b2d9a6a308bcd9300c2d83000a82812c56cea",
"digest": {
"function_hash": "322583235995093329143920601558054555549",
"length": 484.0
},
"target": {
"file": "drivers/iommu/amd/io_pgtable.c",
"function": "v1_free_pgtable"
},
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-48904-c89a18be"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c78627f757e37c2cf386b59c700c4e1574988597",
"digest": {
"function_hash": "171315738255733908021047173056698153941",
"length": 524.0
},
"target": {
"file": "drivers/iommu/amd/io_pgtable.c",
"function": "v1_free_pgtable"
},
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-48904-f772bbfc"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@378e2fe1eb58d5c2ed55c8fe5e11f9db5033cdd6",
"digest": {
"threshold": 0.9,
"line_hashes": [
"141309934316173352263090154744206221265",
"156365358467898981835299419373877886664",
"90338082794977363460089722983013530141",
"304647592045775861387212238540583054251",
"143232009286067666636277614315727474143",
"297722451202315982706500830816035762045",
"336011344512399370088908938614853847742",
"69712537499932375653454275110177318706"
]
},
"target": {
"file": "drivers/iommu/amd/io_pgtable.c"
},
"signature_type": "Line",
"deprecated": false,
"id": "CVE-2022-48904-ff9c023f"
}
]