{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2022-49154",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2025-02-26T01:49:39.275Z",
        "datePublished": "2025-02-26T01:55:19.245Z",
        "dateUpdated": "2026-08-05T08:54:05.900Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T08:54:05.900Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: SVM: fix panic on out-of-bounds guest IRQ\n\nAs guest_irq is coming from KVM_IRQFD API call, it may trigger\ncrash in svm_update_pi_irte() due to out-of-bounds:\n\ncrash> bt\nPID: 22218  TASK: ffff951a6ad74980  CPU: 73  COMMAND: \"vcpu8\"\n #0 [ffffb1ba6707fa40] machine_kexec at ffffffff8565b397\n #1 [ffffb1ba6707fa90] __crash_kexec at ffffffff85788a6d\n #2 [ffffb1ba6707fb58] crash_kexec at ffffffff8578995d\n #3 [ffffb1ba6707fb70] oops_end at ffffffff85623c0d\n #4 [ffffb1ba6707fb90] no_context at ffffffff856692c9\n #5 [ffffb1ba6707fbf8] exc_page_fault at ffffffff85f95b51\n #6 [ffffb1ba6707fc50] asm_exc_page_fault at ffffffff86000ace\n    [exception RIP: svm_update_pi_irte+227]\n    RIP: ffffffffc0761b53  RSP: ffffb1ba6707fd08  RFLAGS: 00010086\n    RAX: ffffb1ba6707fd78  RBX: ffffb1ba66d91000  RCX: 0000000000000001\n    RDX: 00003c803f63f1c0  RSI: 000000000000019a  RDI: ffffb1ba66db2ab8\n    RBP: 000000000000019a   R8: 0000000000000040   R9: ffff94ca41b82200\n    R10: ffffffffffffffcf  R11: 0000000000000001  R12: 0000000000000001\n    R13: 0000000000000001  R14: ffffffffffffffcf  R15: 000000000000005f\n    ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018\n #7 [ffffb1ba6707fdb8] kvm_irq_routing_update at ffffffffc09f19a1 [kvm]\n #8 [ffffb1ba6707fde0] kvm_set_irq_routing at ffffffffc09f2133 [kvm]\n #9 [ffffb1ba6707fe18] kvm_vm_ioctl at ffffffffc09ef544 [kvm]\n    RIP: 00007f143c36488b  RSP: 00007f143a4e04b8  RFLAGS: 00000246\n    RAX: ffffffffffffffda  RBX: 00007f05780041d0  RCX: 00007f143c36488b\n    RDX: 00007f05780041d0  RSI: 000000004008ae6a  RDI: 0000000000000020\n    RBP: 00000000000004e8   R8: 0000000000000008   R9: 00007f05780041e0\n    R10: 00007f0578004560  R11: 0000000000000246  R12: 00000000000004e0\n    R13: 000000000000001a  R14: 00007f1424001c60  R15: 00007f0578003bc0\n    ORIG_RAX: 0000000000000010  CS: 0033  SS: 002b\n\nVmx have been fix this in commit 3a8b0677fc61 (KVM: VMX: Do not BUG() on\nout-of-bounds guest IRQ), so we can just copy source from that to fix\nthis."
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "version": "3.1",
                        "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                        "baseScore": 7.8,
                        "baseSeverity": "HIGH"
                    },
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "AV:L - The bug is reached only through local KVM VM ioctls (KVM_IRQFD / KVM_SET_GSI_ROUTING → kvm_irq_routing_update → avic_pi_update_irte) on /dev/kvm; it does not process network packets or remote protocol data.\nAC:L - An attacker who can open /dev/kvm fully controls the GSI/irqfd values and routing-update sequence and can deterministically force guest_irq >= nr_rt_entries on AMD hosts with IRQ posting; no race or attacker-uncontrollable layout is required for the crash path.\nPR:L - /dev/kvm is mode 0660 group kvm (with uaccess); unprivileged users in the kvm group—or cloud tenants running QEMU with VFIO passthrough—can exercise the path without real init-namespace root, matching the related CVE-2017-1000252 PR:L assessment.\nUI:N - The attacker triggers the fault entirely with their own KVM ioctls; no separate victim mount, open, or other interactive action is required.\nS:U - This is a host-userspace VMM ioctl hitting the host kernel, not a guest-to-host escape; impact stays in the same OS/kernel authority (standard local kernel DoS/corruption), unlike a true KVM VM-escape Scope Changed case.\nC:H - WARN_ON does not stop execution, so an attacker-chosen guest_irq performs an unbounded out-of-bounds read of irq_rt->map[] heap memory as an hlist_head and may walk/treat adjacent objects as kvm_kernel_irq_routing_entry structures, which per guidance is High confidentiality impact.\nI:H - A successful forged-entry walk can drive irq_set_vcpu_affinity and svm_ir_list_add/del on attacker-influenced routing/IOMMU state (type confusion / list mutation from OOB-derived pointers), which is High integrity impact under the overestimate rule.\nA:H - The documented failure is an exc_page_fault / machine check path through svm_update_pi_irte leading to oops/panic (and host hang in the related VMX BUG_ON case), which is full availability impact and can be retried."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "arch/x86/kvm/svm/avic.c"
                    ],
                    "versions": [
                        {
                            "version": "411b44ba80ab0023383fe3f377e903cb0cb7d8bb",
                            "lessThan": "0fb470eb48892e131d10aa3be6915239e65758f3",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "411b44ba80ab0023383fe3f377e903cb0cb7d8bb",
                            "lessThan": "3fa2d747960521a646fc1aad7aea82e95e139a68",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "411b44ba80ab0023383fe3f377e903cb0cb7d8bb",
                            "lessThan": "e4d153d53d9648513481eb4ef8c212e7f1f8173d",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "411b44ba80ab0023383fe3f377e903cb0cb7d8bb",
                            "lessThan": "a6ffdebfb6a9c2ffeed902b544b96fe67498210e",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "411b44ba80ab0023383fe3f377e903cb0cb7d8bb",
                            "lessThan": "a80ced6ea514000d34bf1239d47553de0d1ee89e",
                            "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/kvm/svm/avic.c"
                    ],
                    "versions": [
                        {
                            "version": "4.9",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "4.9",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.10.110",
                            "lessThanOrEqual": "5.10.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.15.33",
                            "lessThanOrEqual": "5.15.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.16.19",
                            "lessThanOrEqual": "5.16.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.17.2",
                            "lessThanOrEqual": "5.17.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.18",
                            "lessThanOrEqual": "*",
                            "status": "unaffected",
                            "versionType": "original_commit_for_fix"
                        }
                    ]
                }
            ],
            "cpeApplicability": [
                {
                    "nodes": [
                        {
                            "operator": "OR",
                            "negate": false,
                            "cpeMatch": [
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.9",
                                    "versionEndExcluding": "5.10.110"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.9",
                                    "versionEndExcluding": "5.15.33"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.9",
                                    "versionEndExcluding": "5.16.19"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.9",
                                    "versionEndExcluding": "5.17.2"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.9",
                                    "versionEndExcluding": "5.18"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/0fb470eb48892e131d10aa3be6915239e65758f3"
                },
                {
                    "url": "https://git.kernel.org/stable/c/3fa2d747960521a646fc1aad7aea82e95e139a68"
                },
                {
                    "url": "https://git.kernel.org/stable/c/e4d153d53d9648513481eb4ef8c212e7f1f8173d"
                },
                {
                    "url": "https://git.kernel.org/stable/c/a6ffdebfb6a9c2ffeed902b544b96fe67498210e"
                },
                {
                    "url": "https://git.kernel.org/stable/c/a80ced6ea514000d34bf1239d47553de0d1ee89e"
                }
            ],
            "title": "KVM: SVM: fix panic on out-of-bounds guest IRQ",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        }
    }
}