{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2022-48864",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2024-07-16T11:38:08.920Z",
        "datePublished": "2024-07-16T12:25:27.144Z",
        "dateUpdated": "2026-08-05T08:52:40.854Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T08:52:40.854Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nvdpa/mlx5: add validation for VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET command\n\nWhen control vq receives a VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET command\nrequest from the driver, presently there is no validation against the\nnumber of queue pairs to configure, or even if multiqueue had been\nnegotiated or not is unverified. This may lead to kernel panic due to\nuninitialized resource for the queues were there any bogus request\nsent down by untrusted driver. Tie up the loose ends there."
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "version": "3.1",
                        "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
                        "baseScore": 8.8,
                        "baseSeverity": "HIGH"
                    },
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "AV:L - The vulnerable path is the host mlx5 vDPA control virtqueue handler (mlx5_vdpa_kick_vq → mlx5_cvq_kick_handler → handle_ctrl_mq), reached when a guest or local vhost-vdpa owner submits a crafted VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET descriptor and kick—not via remote network packet parsing.\nAC:L - The attacker fully controls the control-VQ payload and can deterministically supply an out-of-range virtqueue_pairs value (or MQ when F_MQ was not negotiated); no race, special host state, or attacker-uninfluenceable layout is required.\nPR:L - In the worst reasonable deployment a tenant guest with an assigned mlx5 vDPA net device (or a local process with /dev/vhost-vdpa, typically qemu/kvm group) can drive the control VQ without host root or init-namespace CAP_SYS_ADMIN.\nUI:N - The attacker unilaterally posts the bogus MQ command and kicks the control VQ; no separate victim action such as mounting a filesystem or opening a file is required.\nS:C - A malicious guest virtio driver induces host-kernel panic/memory corruption in the mlx5 vDPA backend across the guest/host VMM boundary, matching other guest-triggered host oops/corruption scores (e.g. vhost-vdpa, SR-IOV VF→PF).\nC:H - Missing upper-bound checks let change_num_qps() index past the heap-allocated ndev->vqs[max_vqs] array and operate on out-of-bounds queue objects; per OOB/memory-corruption guidance that supports arbitrary kernel disclosure.\nI:H - The same out-of-bounds vqs[] access can write through adjacent heap (setup_vq setting initialized and creating HW objects from garbage state), yielding a memory-corruption write/control-flow primitive under the higher-severity rule.\nA:H - The fix commit documents host kernel panic from uninitialized queue resources on a bogus MQ request, and out-of-range newqps can also fault on unmapped OOB accesses—Availability High."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/vdpa/mlx5/net/mlx5_vnet.c"
                    ],
                    "versions": [
                        {
                            "version": "52893733f2c5886fc74be6c386d12b59a3f581df",
                            "lessThan": "e7e118416465f2ba8b55007e5b789823e101421e",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "52893733f2c5886fc74be6c386d12b59a3f581df",
                            "lessThan": "9f6effca75626c7a7c7620dabcb1a254ca530230",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "52893733f2c5886fc74be6c386d12b59a3f581df",
                            "lessThan": "ed0f849fc3a63ed2ddf5e72cdb1de3bdbbb0f8eb",
                            "status": "affected",
                            "versionType": "git"
                        }
                    ]
                },
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "affected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/vdpa/mlx5/net/mlx5_vnet.c"
                    ],
                    "versions": [
                        {
                            "version": "5.15",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "5.15",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.15.29",
                            "lessThanOrEqual": "5.15.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.16.15",
                            "lessThanOrEqual": "5.16.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.17",
                            "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": "5.15",
                                    "versionEndExcluding": "5.15.29"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.15",
                                    "versionEndExcluding": "5.16.15"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.15",
                                    "versionEndExcluding": "5.17"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/e7e118416465f2ba8b55007e5b789823e101421e"
                },
                {
                    "url": "https://git.kernel.org/stable/c/9f6effca75626c7a7c7620dabcb1a254ca530230"
                },
                {
                    "url": "https://git.kernel.org/stable/c/ed0f849fc3a63ed2ddf5e72cdb1de3bdbbb0f8eb"
                }
            ],
            "title": "vdpa/mlx5: add validation for VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET command",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        },
        "adp": [
            {
                "providerMetadata": {
                    "orgId": "af854a3a-2127-422b-91ae-364da2661108",
                    "shortName": "CVE",
                    "dateUpdated": "2024-08-03T15:25:01.614Z"
                },
                "title": "CVE Program Container",
                "references": [
                    {
                        "url": "https://git.kernel.org/stable/c/e7e118416465f2ba8b55007e5b789823e101421e",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/9f6effca75626c7a7c7620dabcb1a254ca530230",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/ed0f849fc3a63ed2ddf5e72cdb1de3bdbbb0f8eb",
                        "tags": [
                            "x_transferred"
                        ]
                    }
                ]
            },
            {
                "metrics": [
                    {
                        "other": {
                            "type": "ssvc",
                            "content": {
                                "id": "CVE-2022-48864",
                                "role": "CISA Coordinator",
                                "options": [
                                    {
                                        "Exploitation": "none"
                                    },
                                    {
                                        "Automatable": "no"
                                    },
                                    {
                                        "Technical Impact": "partial"
                                    }
                                ],
                                "version": "2.0.3",
                                "timestamp": "2024-09-10T16:25:22.300777Z"
                            }
                        }
                    }
                ],
                "title": "CISA ADP Vulnrichment",
                "providerMetadata": {
                    "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
                    "shortName": "CISA-ADP",
                    "dateUpdated": "2024-09-11T17:34:07.092Z"
                }
            }
        ]
    }
}