CVE-2022-48864 (GCVE-0-2022-48864)
Vulnerability from cvelistv5
Published
2024-07-16 12:25
Modified
2026-08-05 08:52
Summary
In the Linux kernel, the following vulnerability has been resolved: vdpa/mlx5: add validation for VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET command When control vq receives a VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET command request from the driver, presently there is no validation against the number of queue pairs to configure, or even if multiqueue had been negotiated or not is unverified. This may lead to kernel panic due to uninitialized resource for the queues were there any bogus request sent down by untrusted driver. Tie up the loose ends there.
Impacted products
Vendor Product Version
Linux Linux Version: 52893733f2c5886fc74be6c386d12b59a3f581df
Version: 52893733f2c5886fc74be6c386d12b59a3f581df
Version: 52893733f2c5886fc74be6c386d12b59a3f581df
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-03T15:25:01.614Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "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"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2022-48864",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T16:25:22.300777Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-11T17:34:07.092Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/vdpa/mlx5/net/mlx5_vnet.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "e7e118416465f2ba8b55007e5b789823e101421e",
              "status": "affected",
              "version": "52893733f2c5886fc74be6c386d12b59a3f581df",
              "versionType": "git"
            },
            {
              "lessThan": "9f6effca75626c7a7c7620dabcb1a254ca530230",
              "status": "affected",
              "version": "52893733f2c5886fc74be6c386d12b59a3f581df",
              "versionType": "git"
            },
            {
              "lessThan": "ed0f849fc3a63ed2ddf5e72cdb1de3bdbbb0f8eb",
              "status": "affected",
              "version": "52893733f2c5886fc74be6c386d12b59a3f581df",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/vdpa/mlx5/net/mlx5_vnet.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.15"
            },
            {
              "lessThan": "5.15",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.29",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.16.*",
              "status": "unaffected",
              "version": "5.16.15",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "5.17",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.29",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.16.15",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.17",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "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": {
            "baseScore": 8.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The vulnerable path is the host mlx5 vDPA control virtqueue handler (mlx5_vdpa_kick_vq \u2192 mlx5_cvq_kick_handler \u2192 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\u2014not 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\u2192PF).\nC:H - Missing upper-bound checks let change_num_qps() index past the heap-allocated ndev-\u003evqs[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\u2014Availability High."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T08:52:40.854Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "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"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-48864",
    "datePublished": "2024-07-16T12:25:27.144Z",
    "dateReserved": "2024-07-16T11:38:08.920Z",
    "dateUpdated": "2026-08-05T08:52:40.854Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "vulnrichment": {
      "containers": "{\"adp\": [{\"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\"]}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2024-08-03T15:25:01.614Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"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\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-09-11T12:42:20.756Z\"}}], \"cna\": {\"title\": \"vdpa/mlx5: add validation for VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET command\", \"metrics\": [{\"cvssV3_1\": {\"version\": \"3.1\", \"baseScore\": 8.8, \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"AV:L - The vulnerable path is the host mlx5 vDPA control virtqueue handler (mlx5_vdpa_kick_vq \\u2192 mlx5_cvq_kick_handler \\u2192 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\\u2014not 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\\u2192PF).\\nC:H - Missing upper-bound checks let change_num_qps() index past the heap-allocated ndev-\u003evqs[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\\u2014Availability High.\"}]}], \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"52893733f2c5886fc74be6c386d12b59a3f581df\", \"lessThan\": \"e7e118416465f2ba8b55007e5b789823e101421e\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"52893733f2c5886fc74be6c386d12b59a3f581df\", \"lessThan\": \"9f6effca75626c7a7c7620dabcb1a254ca530230\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"52893733f2c5886fc74be6c386d12b59a3f581df\", \"lessThan\": \"ed0f849fc3a63ed2ddf5e72cdb1de3bdbbb0f8eb\", \"versionType\": \"git\"}], \"programFiles\": [\"drivers/vdpa/mlx5/net/mlx5_vnet.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"5.15\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"5.15\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"5.15.29\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.15.*\"}, {\"status\": \"unaffected\", \"version\": \"5.16.15\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.16.*\"}, {\"status\": \"unaffected\", \"version\": \"5.17\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"drivers/vdpa/mlx5/net/mlx5_vnet.c\"], \"defaultStatus\": \"affected\"}], \"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\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"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.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.15.29\", \"versionStartIncluding\": \"5.15\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.16.15\", \"versionStartIncluding\": \"5.15\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.17\", \"versionStartIncluding\": \"5.15\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-08-05T08:52:40.854Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2022-48864\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-08-05T08:52:40.854Z\", \"dateReserved\": \"2024-07-16T11:38:08.920Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-07-16T12:25:27.144Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…