CVE-2022-48790 (GCVE-0-2022-48790)

Vulnerability from cvelistv5 – Published: 2024-07-16 11:43 – Updated: 2026-08-05 08:52
VLAI
Title
nvme: fix a possible use-after-free in controller reset during load
Summary
In the Linux kernel, the following vulnerability has been resolved: nvme: fix a possible use-after-free in controller reset during load Unlike .queue_rq, in .submit_async_event drivers may not check the ctrl readiness for AER submission. This may lead to a use-after-free condition that was observed with nvme-tcp. The race condition may happen in the following scenario: 1. driver executes its reset_ctrl_work 2. -> nvme_stop_ctrl - flushes ctrl async_event_work 3. ctrl sends AEN which is received by the host, which in turn schedules AEN handling 4. teardown admin queue (which releases the queue socket) 5. AEN processed, submits another AER, calling the driver to submit 6. driver attempts to send the cmd ==> use-after-free In order to fix that, add ctrl state check to validate the ctrl is actually able to accept the AER submission. This addresses the above race in controller resets because the driver during teardown should: 1. change ctrl state to RESETTING 2. flush async_event_work (as well as other async work elements) So after 1,2, any other AER command will find the ctrl state to be RESETTING and bail out without submitting the AER.
SSVC
Exploitation: none Automatable: no Technical Impact: partial
CISA Coordinator (v2.0.3)
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: ad22c355b707a8d8d48e282aadc01c0b0604b2e9 , < a25e460fbb0340488d119fb2e28fe3f829b7417e (git)
Affected: ad22c355b707a8d8d48e282aadc01c0b0604b2e9 , < 70356b756a58704e5c8818cb09da5854af87e765 (git)
Affected: ad22c355b707a8d8d48e282aadc01c0b0604b2e9 , < 0ead57ceb21bbf15963b4874c2ac67143455382f (git)
Affected: ad22c355b707a8d8d48e282aadc01c0b0604b2e9 , < e043fb5a0336ee74614e26f0d9f36f1f5bb6d606 (git)
Affected: ad22c355b707a8d8d48e282aadc01c0b0604b2e9 , < 9e956a2596ae276124ef0d96829c013dd0faf861 (git)
Affected: ad22c355b707a8d8d48e282aadc01c0b0604b2e9 , < 0fa0f99fc84e41057cbdd2efbfe91c6b2f47dd9d (git)
Create a notification for this product.
Linux Linux Affected: 4.15
Unaffected: 0 , < 4.15 (semver)
Unaffected: 4.19.231 , ≤ 4.19.* (semver)
Unaffected: 5.4.181 , ≤ 5.4.* (semver)
Unaffected: 5.10.102 , ≤ 5.10.* (semver)
Unaffected: 5.15.25 , ≤ 5.15.* (semver)
Unaffected: 5.16.11 , ≤ 5.16.* (semver)
Unaffected: 5.17 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-03T15:25:01.558Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/a25e460fbb0340488d119fb2e28fe3f829b7417e"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/70356b756a58704e5c8818cb09da5854af87e765"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/0ead57ceb21bbf15963b4874c2ac67143455382f"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/e043fb5a0336ee74614e26f0d9f36f1f5bb6d606"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/9e956a2596ae276124ef0d96829c013dd0faf861"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/0fa0f99fc84e41057cbdd2efbfe91c6b2f47dd9d"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2022-48790",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T16:59:38.803415Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-11T17:34:15.849Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/nvme/host/core.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "a25e460fbb0340488d119fb2e28fe3f829b7417e",
              "status": "affected",
              "version": "ad22c355b707a8d8d48e282aadc01c0b0604b2e9",
              "versionType": "git"
            },
            {
              "lessThan": "70356b756a58704e5c8818cb09da5854af87e765",
              "status": "affected",
              "version": "ad22c355b707a8d8d48e282aadc01c0b0604b2e9",
              "versionType": "git"
            },
            {
              "lessThan": "0ead57ceb21bbf15963b4874c2ac67143455382f",
              "status": "affected",
              "version": "ad22c355b707a8d8d48e282aadc01c0b0604b2e9",
              "versionType": "git"
            },
            {
              "lessThan": "e043fb5a0336ee74614e26f0d9f36f1f5bb6d606",
              "status": "affected",
              "version": "ad22c355b707a8d8d48e282aadc01c0b0604b2e9",
              "versionType": "git"
            },
            {
              "lessThan": "9e956a2596ae276124ef0d96829c013dd0faf861",
              "status": "affected",
              "version": "ad22c355b707a8d8d48e282aadc01c0b0604b2e9",
              "versionType": "git"
            },
            {
              "lessThan": "0fa0f99fc84e41057cbdd2efbfe91c6b2f47dd9d",
              "status": "affected",
              "version": "ad22c355b707a8d8d48e282aadc01c0b0604b2e9",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/nvme/host/core.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.15"
            },
            {
              "lessThan": "4.15",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.231",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.181",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.102",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.25",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.16.*",
              "status": "unaffected",
              "version": "5.16.11",
              "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": "4.19.231",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.181",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.102",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.25",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.16.11",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.17",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnvme: fix a possible use-after-free in controller reset during load\n\nUnlike .queue_rq, in .submit_async_event drivers may not check the ctrl\nreadiness for AER submission. This may lead to a use-after-free\ncondition that was observed with nvme-tcp.\n\nThe race condition may happen in the following scenario:\n1. driver executes its reset_ctrl_work\n2. -\u003e nvme_stop_ctrl - flushes ctrl async_event_work\n3. ctrl sends AEN which is received by the host, which in turn\n   schedules AEN handling\n4. teardown admin queue (which releases the queue socket)\n5. AEN processed, submits another AER, calling the driver to submit\n6. driver attempts to send the cmd\n==\u003e use-after-free\n\nIn order to fix that, add ctrl state check to validate the ctrl\nis actually able to accept the AER submission.\n\nThis addresses the above race in controller resets because the driver\nduring teardown should:\n1. change ctrl state to RESETTING\n2. flush async_event_work (as well as other async work elements)\n\nSo after 1,2, any other AER command will find the\nctrl state to be RESETTING and bail out without submitting the AER."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 9.8,
            "baseSeverity": "CRITICAL",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:N - The UAF is reached when the nvme-tcp host processes an Asynchronous Event Notification CQE from a remote NVMe-oF target over TCP and then submits a new AER on the admin-queue socket; a malicious or compromised target (or on-path attacker on the unauthenticated NVMe/TCP session) delivers that AEN and induces controller reset/error recovery entirely over the network.\nAC:L - The remote target controls both sides of the race\u2014when to send the AEN and when to force reset/error recovery (bad CQE, FW_ACT AEN, disconnect)\u2014and the driver\u0027s automatic reconnect gives unlimited retries, so success does not depend on conditions outside the attacker\u0027s influence.\nPR:N - The attacker acts as the NVMe-oF target peer and needs no account, capability, or other privilege on the victim host; AENs and reset-inducing traffic are accepted on an already-established fabrics connection without host-side credentials.\nUI:N - NVMe-oF initiator connections are persistent system configuration (boot autoconnect / discovery AEN re-connect), and reset/error recovery plus reconnect run automatically, so no additional user or administrator action is required at attack time.\nS:U - The use-after-free corrupts kernel memory within the same host kernel security authority; it does not cross a VM, IOMMU, or other security-boundary authority.\nC:H - Use-after-free of the admin-queue socket lets an attacker reclaim and spray the freed sock object, yielding a controllable kernel read primitive over the reclaimed slab (per UAF guidance).\nI:H - Submitting the AER calls sock_sendmsg() on the freed queue-\u003esock, so reclaiming that object provides a kernel control-flow/write primitive suitable for arbitrary modification and code execution.\nA:H - Any use of the released socket during AER submission can oops/panic the host kernel, and the attacker can repeat the sequence across automatic reconnects for a reliable denial of service."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T08:52:20.684Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/a25e460fbb0340488d119fb2e28fe3f829b7417e"
        },
        {
          "url": "https://git.kernel.org/stable/c/70356b756a58704e5c8818cb09da5854af87e765"
        },
        {
          "url": "https://git.kernel.org/stable/c/0ead57ceb21bbf15963b4874c2ac67143455382f"
        },
        {
          "url": "https://git.kernel.org/stable/c/e043fb5a0336ee74614e26f0d9f36f1f5bb6d606"
        },
        {
          "url": "https://git.kernel.org/stable/c/9e956a2596ae276124ef0d96829c013dd0faf861"
        },
        {
          "url": "https://git.kernel.org/stable/c/0fa0f99fc84e41057cbdd2efbfe91c6b2f47dd9d"
        }
      ],
      "title": "nvme: fix a possible use-after-free in controller reset during load",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-48790",
    "datePublished": "2024-07-16T11:43:46.556Z",
    "dateReserved": "2024-07-16T11:38:08.893Z",
    "dateUpdated": "2026-08-05T08:52:20.684Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2022-48790",
      "date": "2026-08-05",
      "epss": "0.00784",
      "percentile": "0.52567"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2022-48790\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-07-16T12:15:03.843\",\"lastModified\":\"2026-06-17T05:16:12.097\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnvme: fix a possible use-after-free in controller reset during load\\n\\nUnlike .queue_rq, in .submit_async_event drivers may not check the ctrl\\nreadiness for AER submission. This may lead to a use-after-free\\ncondition that was observed with nvme-tcp.\\n\\nThe race condition may happen in the following scenario:\\n1. driver executes its reset_ctrl_work\\n2. -\u003e nvme_stop_ctrl - flushes ctrl async_event_work\\n3. ctrl sends AEN which is received by the host, which in turn\\n   schedules AEN handling\\n4. teardown admin queue (which releases the queue socket)\\n5. AEN processed, submits another AER, calling the driver to submit\\n6. driver attempts to send the cmd\\n==\u003e use-after-free\\n\\nIn order to fix that, add ctrl state check to validate the ctrl\\nis actually able to accept the AER submission.\\n\\nThis addresses the above race in controller resets because the driver\\nduring teardown should:\\n1. change ctrl state to RESETTING\\n2. flush async_event_work (as well as other async work elements)\\n\\nSo after 1,2, any other AER command will find the\\nctrl state to be RESETTING and bail out without submitting the AER.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se resolvi\u00f3 la siguiente vulnerabilidad: nvme: corrige un posible use-after-free en el reinicio del controlador durante la carga. A diferencia de .queue_rq, en .submit_async_event es posible que los controladores no verifiquen la preparaci\u00f3n de Ctrl para el env\u00edo de AER. Esto puede provocar una condici\u00f3n de use-after-free que se observ\u00f3 con nvme-tcp. La condici\u00f3n de ejecuci\u00f3n puede ocurrir en el siguiente escenario: 1. el controlador ejecuta su reset_ctrl_work 2. -\u0026gt; nvme_stop_ctrl - vac\u00eda ctrl async_event_work 3. ctrl env\u00eda AEN que es recibido por el host, que a su vez programa el manejo de AEN 4. desmontaje de la cola de administraci\u00f3n (que libera el socket de la cola) 5. AEN procesado, env\u00eda otro AER, llamando al controlador para enviar 6. el controlador intenta enviar el cmd ==\u0026gt; use-after-free Para solucionar eso, agregue la verificaci\u00f3n de estado de ctrl para validar que ctrl es realmente capaz de aceptar la presentaci\u00f3n de la ARE. Esto soluciona la ejecuci\u00f3n anterior en los reinicios del controlador porque el controlador durante el desmontaje debe: 1. cambiar el estado de Ctrl a RESTABLECER 2. vaciar async_event_work (as\u00ed como otros elementos de trabajo as\u00edncronos) Entonces, despu\u00e9s de 1,2, cualquier otro comando AER encontrar\u00e1 el estado de Ctrl estar RESETING y rescatar sin presentar la AER.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/nvme/host/core.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"ad22c355b707a8d8d48e282aadc01c0b0604b2e9\",\"lessThan\":\"a25e460fbb0340488d119fb2e28fe3f829b7417e\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"ad22c355b707a8d8d48e282aadc01c0b0604b2e9\",\"lessThan\":\"70356b756a58704e5c8818cb09da5854af87e765\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"ad22c355b707a8d8d48e282aadc01c0b0604b2e9\",\"lessThan\":\"0ead57ceb21bbf15963b4874c2ac67143455382f\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"ad22c355b707a8d8d48e282aadc01c0b0604b2e9\",\"lessThan\":\"e043fb5a0336ee74614e26f0d9f36f1f5bb6d606\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"ad22c355b707a8d8d48e282aadc01c0b0604b2e9\",\"lessThan\":\"9e956a2596ae276124ef0d96829c013dd0faf861\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"ad22c355b707a8d8d48e282aadc01c0b0604b2e9\",\"lessThan\":\"0fa0f99fc84e41057cbdd2efbfe91c6b2f47dd9d\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/nvme/host/core.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"4.15\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"4.15\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"4.19.231\",\"lessThanOrEqual\":\"4.19.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.4.181\",\"lessThanOrEqual\":\"5.4.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.10.102\",\"lessThanOrEqual\":\"5.10.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.25\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.16.11\",\"lessThanOrEqual\":\"5.16.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.17\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.0,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"HIGH\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.0,\"impactScore\":5.9}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2024-09-10T16:59:38.803415Z\",\"id\":\"CVE-2022-48790\",\"options\":[{\"exploitation\":\"none\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"partial\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-416\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionEndExcluding\":\"4.19.231\",\"matchCriteriaId\":\"BED6719E-2004-42C8-8CA4-4E4CD159B63F\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.20\",\"versionEndExcluding\":\"5.4.181\",\"matchCriteriaId\":\"FB33213E-1A45-4E3B-A129-58AAA2EB921D\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.5\",\"versionEndExcluding\":\"5.10.102\",\"matchCriteriaId\":\"DAD66A9A-8D06-48D1-8AA8-FC060496FF53\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.11\",\"versionEndExcluding\":\"5.15.25\",\"matchCriteriaId\":\"D098AA16-8E21-4EB7-AE2F-1EEB58E1A3A3\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.16\",\"versionEndExcluding\":\"5.16.11\",\"matchCriteriaId\":\"0D327234-5D4A-43DC-A6DF-BCA0CEBEC039\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0ead57ceb21bbf15963b4874c2ac67143455382f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/0fa0f99fc84e41057cbdd2efbfe91c6b2f47dd9d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/70356b756a58704e5c8818cb09da5854af87e765\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/9e956a2596ae276124ef0d96829c013dd0faf861\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/a25e460fbb0340488d119fb2e28fe3f829b7417e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/e043fb5a0336ee74614e26f0d9f36f1f5bb6d606\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/0ead57ceb21bbf15963b4874c2ac67143455382f\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/0fa0f99fc84e41057cbdd2efbfe91c6b2f47dd9d\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/70356b756a58704e5c8818cb09da5854af87e765\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/9e956a2596ae276124ef0d96829c013dd0faf861\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/a25e460fbb0340488d119fb2e28fe3f829b7417e\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/e043fb5a0336ee74614e26f0d9f36f1f5bb6d606\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-04T19:47:47+00:00",
      "cve": "CVE-2022-48790",
      "id": "CVE-2022-48790",
      "initial_release_date": "2022-01-01T00:00:00+00:00",
      "product_status:known_affected": "76",
      "product_status:known_not_affected": "122",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: nvme: fix a possible use-after-free in controller reset during load",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2022/cve-2022-48790.json",
      "version": "3"
    },
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://git.kernel.org/stable/c/a25e460fbb0340488d119fb2e28fe3f829b7417e\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/70356b756a58704e5c8818cb09da5854af87e765\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/0ead57ceb21bbf15963b4874c2ac67143455382f\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/e043fb5a0336ee74614e26f0d9f36f1f5bb6d606\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/9e956a2596ae276124ef0d96829c013dd0faf861\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/0fa0f99fc84e41057cbdd2efbfe91c6b2f47dd9d\", \"tags\": [\"x_transferred\"]}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2024-08-03T15:25:01.558Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2022-48790\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-09-10T16:59:38.803415Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-09-11T12:42:21.653Z\"}}], \"cna\": {\"title\": \"nvme: fix a possible use-after-free in controller reset during load\", \"metrics\": [{\"cvssV3_1\": {\"version\": \"3.1\", \"baseScore\": 9.8, \"baseSeverity\": \"CRITICAL\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"AV:N - The UAF is reached when the nvme-tcp host processes an Asynchronous Event Notification CQE from a remote NVMe-oF target over TCP and then submits a new AER on the admin-queue socket; a malicious or compromised target (or on-path attacker on the unauthenticated NVMe/TCP session) delivers that AEN and induces controller reset/error recovery entirely over the network.\\nAC:L - The remote target controls both sides of the race\\u2014when to send the AEN and when to force reset/error recovery (bad CQE, FW_ACT AEN, disconnect)\\u2014and the driver\u0027s automatic reconnect gives unlimited retries, so success does not depend on conditions outside the attacker\u0027s influence.\\nPR:N - The attacker acts as the NVMe-oF target peer and needs no account, capability, or other privilege on the victim host; AENs and reset-inducing traffic are accepted on an already-established fabrics connection without host-side credentials.\\nUI:N - NVMe-oF initiator connections are persistent system configuration (boot autoconnect / discovery AEN re-connect), and reset/error recovery plus reconnect run automatically, so no additional user or administrator action is required at attack time.\\nS:U - The use-after-free corrupts kernel memory within the same host kernel security authority; it does not cross a VM, IOMMU, or other security-boundary authority.\\nC:H - Use-after-free of the admin-queue socket lets an attacker reclaim and spray the freed sock object, yielding a controllable kernel read primitive over the reclaimed slab (per UAF guidance).\\nI:H - Submitting the AER calls sock_sendmsg() on the freed queue-\u003esock, so reclaiming that object provides a kernel control-flow/write primitive suitable for arbitrary modification and code execution.\\nA:H - Any use of the released socket during AER submission can oops/panic the host kernel, and the attacker can repeat the sequence across automatic reconnects for a reliable denial of service.\"}]}], \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"ad22c355b707a8d8d48e282aadc01c0b0604b2e9\", \"lessThan\": \"a25e460fbb0340488d119fb2e28fe3f829b7417e\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"ad22c355b707a8d8d48e282aadc01c0b0604b2e9\", \"lessThan\": \"70356b756a58704e5c8818cb09da5854af87e765\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"ad22c355b707a8d8d48e282aadc01c0b0604b2e9\", \"lessThan\": \"0ead57ceb21bbf15963b4874c2ac67143455382f\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"ad22c355b707a8d8d48e282aadc01c0b0604b2e9\", \"lessThan\": \"e043fb5a0336ee74614e26f0d9f36f1f5bb6d606\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"ad22c355b707a8d8d48e282aadc01c0b0604b2e9\", \"lessThan\": \"9e956a2596ae276124ef0d96829c013dd0faf861\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"ad22c355b707a8d8d48e282aadc01c0b0604b2e9\", \"lessThan\": \"0fa0f99fc84e41057cbdd2efbfe91c6b2f47dd9d\", \"versionType\": \"git\"}], \"programFiles\": [\"drivers/nvme/host/core.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"4.15\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"4.15\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"4.19.231\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"4.19.*\"}, {\"status\": \"unaffected\", \"version\": \"5.4.181\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.4.*\"}, {\"status\": \"unaffected\", \"version\": \"5.10.102\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.10.*\"}, {\"status\": \"unaffected\", \"version\": \"5.15.25\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.15.*\"}, {\"status\": \"unaffected\", \"version\": \"5.16.11\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.16.*\"}, {\"status\": \"unaffected\", \"version\": \"5.17\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"drivers/nvme/host/core.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/a25e460fbb0340488d119fb2e28fe3f829b7417e\"}, {\"url\": \"https://git.kernel.org/stable/c/70356b756a58704e5c8818cb09da5854af87e765\"}, {\"url\": \"https://git.kernel.org/stable/c/0ead57ceb21bbf15963b4874c2ac67143455382f\"}, {\"url\": \"https://git.kernel.org/stable/c/e043fb5a0336ee74614e26f0d9f36f1f5bb6d606\"}, {\"url\": \"https://git.kernel.org/stable/c/9e956a2596ae276124ef0d96829c013dd0faf861\"}, {\"url\": \"https://git.kernel.org/stable/c/0fa0f99fc84e41057cbdd2efbfe91c6b2f47dd9d\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnvme: fix a possible use-after-free in controller reset during load\\n\\nUnlike .queue_rq, in .submit_async_event drivers may not check the ctrl\\nreadiness for AER submission. This may lead to a use-after-free\\ncondition that was observed with nvme-tcp.\\n\\nThe race condition may happen in the following scenario:\\n1. driver executes its reset_ctrl_work\\n2. -\u003e nvme_stop_ctrl - flushes ctrl async_event_work\\n3. ctrl sends AEN which is received by the host, which in turn\\n   schedules AEN handling\\n4. teardown admin queue (which releases the queue socket)\\n5. AEN processed, submits another AER, calling the driver to submit\\n6. driver attempts to send the cmd\\n==\u003e use-after-free\\n\\nIn order to fix that, add ctrl state check to validate the ctrl\\nis actually able to accept the AER submission.\\n\\nThis addresses the above race in controller resets because the driver\\nduring teardown should:\\n1. change ctrl state to RESETTING\\n2. flush async_event_work (as well as other async work elements)\\n\\nSo after 1,2, any other AER command will find the\\nctrl state to be RESETTING and bail out without submitting the AER.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"4.19.231\", \"versionStartIncluding\": \"4.15\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.4.181\", \"versionStartIncluding\": \"4.15\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.10.102\", \"versionStartIncluding\": \"4.15\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.15.25\", \"versionStartIncluding\": \"4.15\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.16.11\", \"versionStartIncluding\": \"4.15\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.17\", \"versionStartIncluding\": \"4.15\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-08-05T08:52:20.684Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2022-48790\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-08-05T08:52:20.684Z\", \"dateReserved\": \"2024-07-16T11:38:08.893Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-07-16T11:43:46.556Z\", \"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…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…