CVE-2022-49858 (GCVE-0-2022-49858)

Vulnerability from cvelistv5 – Published: 2025-05-01 14:10 – Updated: 2026-08-05 08:56
VLAI
Title
octeontx2-pf: Fix SQE threshold checking
Summary
In the Linux kernel, the following vulnerability has been resolved: octeontx2-pf: Fix SQE threshold checking Current way of checking available SQE count which is based on HW updated SQB count could result in driver submitting an SQE even before CQE for the previously transmitted SQE at the same index is processed in NAPI resulting losing SKB pointers, hence a leak. Fix this by checking a consumer index which is updated once CQE is processed.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 3ca6c4c882a7f34085b170d93cf0d0e843aa00e6 , < 015e3c0a3b16193aab23beefe4719484b9984c2d (git)
Affected: 3ca6c4c882a7f34085b170d93cf0d0e843aa00e6 , < f0dfc4c88ef39be0ba736aa0ce6119263fc19aeb (git)
Create a notification for this product.
Linux Linux Affected: 5.6
Unaffected: 0 , < 5.6 (semver)
Unaffected: 6.0.9 , ≤ 6.0.* (semver)
Unaffected: 6.1 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c",
            "drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c",
            "drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "015e3c0a3b16193aab23beefe4719484b9984c2d",
              "status": "affected",
              "version": "3ca6c4c882a7f34085b170d93cf0d0e843aa00e6",
              "versionType": "git"
            },
            {
              "lessThan": "f0dfc4c88ef39be0ba736aa0ce6119263fc19aeb",
              "status": "affected",
              "version": "3ca6c4c882a7f34085b170d93cf0d0e843aa00e6",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c",
            "drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c",
            "drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.6"
            },
            {
              "lessThan": "5.6",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.0.*",
              "status": "unaffected",
              "version": "6.0.9",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.0.9",
                  "versionStartIncluding": "5.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1",
                  "versionStartIncluding": "5.6",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nocteontx2-pf: Fix SQE threshold checking\n\nCurrent way of checking available SQE count which is based on\nHW updated SQB count could result in driver submitting an SQE\neven before CQE for the previously transmitted SQE at the same\nindex is processed in NAPI resulting losing SKB pointers,\nhence a leak. Fix this by checking a consumer index which\nis updated once CQE is processed."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The bug is in the local ndo_start_xmit TX path (otx2_xmit/otx2vf_xmit \u2192 otx2_sq_append_skb) on Marvell OcteonTX2 PF/VF NICs; it is driver TX-ring bookkeeping under local transmit load, not parsing of remotely injected frames.\nAC:L - An attacker who can generate sustained TX traffic fully drives ring wrap and widens the HW-SQB-free versus NAPI-CQE window (IRQ coalescing/NAPI budget), so the index reuse and wrong-skb free are reliably inducible with no attacker-uncontrollable precondition.\nPR:L - Any unprivileged local user (or container with a delegated SR-IOV VF) can open sockets and send traffic out an already-up octeontx2 interface without CAP_NET_ADMIN or init-namespace root.\nUI:N - The attacker triggers the defect solely by generating their own transmit traffic; no separate victim action such as mounting a filesystem or opening a crafted file is required.\nS:U - Impact is confined to host-kernel sk_buff/DMA state within the same OS security authority; this is not a VM escape, IOMMU boundary bypass, or other cross-authority compromise.\nC:H - Reusing an SQE index before CQE processing overwrites sg[].skb and causes otx2_snd_pkt_handler to dma_unmap and napi_consume_skb the new in-flight skb while HW may still DMA-read its pages, a use-after-free/DMA-after-free that can disclose recycled page contents (including via transmission on the wire).\nI:H - The same premature free/unmap of an in-flight sk_buff and its DMA-mapped fragments is a reclaimable heap use-after-free under attacker-driven TX load; per UAF guidance this class enables heap corruption and control-flow hijack primitives.\nA:H - Losing the prior SKB pointer permanently leaks sk_buffs under load, and freeing/unmapping the wrong in-flight packet can IOMMU-fault or oops the kernel; any such UAF/crash scores Availability High."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T08:56:28.608Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/015e3c0a3b16193aab23beefe4719484b9984c2d"
        },
        {
          "url": "https://git.kernel.org/stable/c/f0dfc4c88ef39be0ba736aa0ce6119263fc19aeb"
        }
      ],
      "title": "octeontx2-pf: Fix SQE threshold checking",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-49858",
    "datePublished": "2025-05-01T14:10:11.559Z",
    "dateReserved": "2025-05-01T14:05:17.235Z",
    "dateUpdated": "2026-08-05T08:56:28.608Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2022-49858",
      "date": "2026-08-05",
      "epss": "0.00168",
      "percentile": "0.0644"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2022-49858\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-05-01T15:16:09.410\",\"lastModified\":\"2026-08-04T10:17:57.527\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nocteontx2-pf: Fix SQE threshold checking\\n\\nCurrent way of checking available SQE count which is based on\\nHW updated SQB count could result in driver submitting an SQE\\neven before CQE for the previously transmitted SQE at the same\\nindex is processed in NAPI resulting losing SKB pointers,\\nhence a leak. Fix this by checking a consumer index which\\nis updated once CQE is processed.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: octeontx2-pf: Se corrige la comprobaci\u00f3n del umbral de SQE. La forma actual de comprobar el recuento de SQE disponibles, basada en el recuento de SQB actualizado por hardware, podr\u00eda provocar que el controlador env\u00ede un SQE incluso antes de que se procese en NAPI el CQE del SQE previamente transmitido en el mismo \u00edndice, lo que resulta en la p\u00e9rdida de punteros SKB y, por lo tanto, una fuga. Se soluciona esto comprobando un \u00edndice de consumidor que se actualiza una vez procesado el CQE.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c\",\"drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c\",\"drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.h\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"3ca6c4c882a7f34085b170d93cf0d0e843aa00e6\",\"lessThan\":\"015e3c0a3b16193aab23beefe4719484b9984c2d\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"3ca6c4c882a7f34085b170d93cf0d0e843aa00e6\",\"lessThan\":\"f0dfc4c88ef39be0ba736aa0ce6119263fc19aeb\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c\",\"drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c\",\"drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.h\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.6\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.6\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.0.9\",\"lessThanOrEqual\":\"6.0.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"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\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"NVD-CWE-noinfo\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.6\",\"versionEndExcluding\":\"6.0.9\",\"matchCriteriaId\":\"CE27853D-39C2-4B1E-8A20-34EF9FE13B95\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.1:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"E7E331DA-1FB0-4DEC-91AC-7DA69D461C11\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.1:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"17F0B248-42CF-4AE6-A469-BB1BAE7F4705\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.1:rc3:*:*:*:*:*:*\",\"matchCriteriaId\":\"E2422816-0C14-4B5E-A1E6-A9D776E5C49B\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.1:rc4:*:*:*:*:*:*\",\"matchCriteriaId\":\"1C6E00FE-5FB9-4D20-A1A1-5A32128F9B76\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/015e3c0a3b16193aab23beefe4719484b9984c2d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/f0dfc4c88ef39be0ba736aa0ce6119263fc19aeb\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-04T19:41:18+00:00",
      "cve": "CVE-2022-49858",
      "id": "CVE-2022-49858",
      "initial_release_date": "2022-01-01T00:00:00+00:00",
      "product_status:known_affected": "108",
      "product_status:known_not_affected": "166",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: octeontx2-pf: Fix SQE threshold checking",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2022/cve-2022-49858.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-08-05T01:12:32Z",
      "cve": "CVE-2022-49858",
      "id": "CVE-2022-49858",
      "initial_release_date": "2025-05-07T02:19:35Z",
      "product_status:known_affected": "339",
      "product_status:known_not_affected": "294",
      "product_status:recommended": "214",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2022-49858",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2022-49858.json",
      "version": "39"
    }
  }
}



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…

Loading…