CVE-2025-37873 (GCVE-0-2025-37873)
Vulnerability from cvelistv5
Published
2025-05-09 06:44
Modified
2026-08-05 11:57
Summary
In the Linux kernel, the following vulnerability has been resolved: eth: bnxt: fix missing ring index trim on error path Commit under Fixes converted tx_prod to be free running but missed masking it on the Tx error path. This crashes on error conditions, for example when DMA mapping fails.
Impacted products
Vendor Product Version
Linux Linux Version: 6d1add95536bafe585c500ad8114af7ed4225a0f
Version: 6d1add95536bafe585c500ad8114af7ed4225a0f
Version: 6d1add95536bafe585c500ad8114af7ed4225a0f
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/broadcom/bnxt/bnxt.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "21e70f694bc0dcb40174b0940cc52a7769fc19e0",
              "status": "affected",
              "version": "6d1add95536bafe585c500ad8114af7ed4225a0f",
              "versionType": "git"
            },
            {
              "lessThan": "3742c55de00266fa7c8fd2c5d61a453d223a9cd1",
              "status": "affected",
              "version": "6d1add95536bafe585c500ad8114af7ed4225a0f",
              "versionType": "git"
            },
            {
              "lessThan": "12f2d033fae957d84c2c0ce604d2a077e61fa2c0",
              "status": "affected",
              "version": "6d1add95536bafe585c500ad8114af7ed4225a0f",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/broadcom/bnxt/bnxt.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.8"
            },
            {
              "lessThan": "6.8",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.25",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.14.*",
              "status": "unaffected",
              "version": "6.14.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.15",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.25",
                  "versionStartIncluding": "6.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.14.4",
                  "versionStartIncluding": "6.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.15",
                  "versionStartIncluding": "6.8",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\neth: bnxt: fix missing ring index trim on error path\n\nCommit under Fixes converted tx_prod to be free running but missed\nmasking it on the Tx error path. This crashes on error conditions,\nfor example when DMA mapping fails."
        }
      ],
      "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 defect is in `bnxt_start_xmit()`, the driver\u0027s local transmit path, reached by a local process sending packets through the bnxt interface; it does not parse remote peer data, so a remote attacker cannot directly drive the error path.\nAC:L - The error conditions are resource-exhaustion states the attacker can themselves induce (swiotlb/IOMMU exhaustion for `dma_map_single()`, memory pressure for `skb_pad()`/`skb_cow_head()`), and `tx_prod` exceeds `tx_ring_mask` ~99.2% of the time and is steerable by simply sending packets.\nPR:L - Any unprivileged local user can transmit packets out the bnxt NIC via ordinary sockets and generate the memory/DMA pressure needed; no capability, netlink permission, or admin gate exists on this path.\nUI:N - The OOB write occurs entirely within the attacker\u0027s own `sendmsg()`/xmit path with no victim action required.\nS:U - The corruption stays within kernel memory managed by the same security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - The unmasked index yields an out-of-bounds write up to ~2.6 MB past a 20 KB vzalloc\u0027d ring into neighbouring vmalloc objects (kernel stacks, other rings, module data); zeroing a pointer or length field in an adjacent structure is memory corruption that can be leveraged for information disclosure.\nI:H - This is a genuine out-of-bounds write with an attacker-steerable offset over a multi-megabyte window of vmalloc space, corrupting unrelated kernel structures.\nA:H - The commit states outright that the unmasked index \"crashes on error conditions\"; the write typically lands on a vmalloc guard page or unmapped region, producing a kernel oops/panic."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:57:58.207Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/21e70f694bc0dcb40174b0940cc52a7769fc19e0"
        },
        {
          "url": "https://git.kernel.org/stable/c/3742c55de00266fa7c8fd2c5d61a453d223a9cd1"
        },
        {
          "url": "https://git.kernel.org/stable/c/12f2d033fae957d84c2c0ce604d2a077e61fa2c0"
        }
      ],
      "title": "eth: bnxt: fix missing ring index trim on error path",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-37873",
    "datePublished": "2025-05-09T06:44:01.394Z",
    "dateReserved": "2025-04-16T04:51:23.959Z",
    "dateUpdated": "2026-08-05T11:57:58.207Z",
    "state": "PUBLISHED"
  },
  "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…