CVE-2026-64522 (GCVE-0-2026-64522)

Vulnerability from cvelistv5 – Published: 2026-07-25 09:14 – Updated: 2026-08-05 12:42
VLAI
Title
net/mlx5e: Fix eswitch mode block underflow on IPsec acquire SA
Summary
In the Linux kernel, the following vulnerability has been resolved: net/mlx5e: Fix eswitch mode block underflow on IPsec acquire SA mlx5e_xfrm_add_state() handles acquire-flow temporary SAs by allocating software state and skipping hardware offload setup. That path jumps to the common success label before taking the eswitch mode block. After tunnel-mode validation was moved earlier, the common success label unconditionally calls mlx5_eswitch_unblock_mode(). For acquire SAs, this decrements esw->offloads.num_block_mode without a matching increment. Return directly after installing the acquire SA offload handle, so only the paths that successfully called mlx5_eswitch_block_mode() call the matching unblock.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 22239eb258bc1e6ccdb2d3502fce1cc2b2a88386 , < b5bd4249e430f5963d559708ee96a671716d2400 (git)
Affected: 22239eb258bc1e6ccdb2d3502fce1cc2b2a88386 , < ecafd8284e527666e83261e6e57a7c7341d591cb (git)
Affected: 22239eb258bc1e6ccdb2d3502fce1cc2b2a88386 , < abe003b33223ff33552f291644bf35d9c2f992fb (git)
Affected: 993c4ba71596c30418ba5a0ddcf4f9c2f431466a (git)
Affected: 6.17.4 , < 6.18 (semver)
guessed Create a notification for this product.
Linux Linux Affected: 6.18
Unaffected: 0 , < 6.18 (semver)
Unaffected: 6.18.34 , ≤ 6.18.* (semver)
Unaffected: 7.0.11 , ≤ 7.0.* (semver)
Unaffected: 7.1 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "b5bd4249e430f5963d559708ee96a671716d2400",
              "status": "affected",
              "version": "22239eb258bc1e6ccdb2d3502fce1cc2b2a88386",
              "versionType": "git"
            },
            {
              "lessThan": "ecafd8284e527666e83261e6e57a7c7341d591cb",
              "status": "affected",
              "version": "22239eb258bc1e6ccdb2d3502fce1cc2b2a88386",
              "versionType": "git"
            },
            {
              "lessThan": "abe003b33223ff33552f291644bf35d9c2f992fb",
              "status": "affected",
              "version": "22239eb258bc1e6ccdb2d3502fce1cc2b2a88386",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "993c4ba71596c30418ba5a0ddcf4f9c2f431466a",
              "versionType": "git"
            },
            {
              "lessThan": "6.18",
              "status": "affected",
              "version": "6.17.4",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.18"
            },
            {
              "lessThan": "6.18",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.34",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.0.*",
              "status": "unaffected",
              "version": "7.0.11",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.34",
                  "versionStartIncluding": "6.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0.11",
                  "versionStartIncluding": "6.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1",
                  "versionStartIncluding": "6.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "6.17.4",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet/mlx5e: Fix eswitch mode block underflow on IPsec acquire SA\n\nmlx5e_xfrm_add_state() handles acquire-flow temporary SAs by allocating\nsoftware state and skipping hardware offload setup.\n\nThat path jumps to the common success label before taking the eswitch mode\nblock. After tunnel-mode validation was moved earlier, the common success\nlabel unconditionally calls mlx5_eswitch_unblock_mode(). For acquire SAs,\nthis decrements esw-\u003eoffloads.num_block_mode without a matching increment.\n\nReturn directly after installing the acquire SA offload handle, so only the\npaths that successfully called mlx5_eswitch_block_mode() call the matching\nunblock."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 8.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:N - A remote TCP SYN can cause the kernel to route a SYN-ACK through an administrator-configured outbound mlx5 IPsec policy, reaching xfrm_state_find() and the vulnerable acquire-SA callback.\nAC:L - Once the affected packet-offload policy is deployed without a matching SA, the first matching flow deterministically performs the unmatched decrement; no race must be won.\nPR:N - The remote peer needs no credentials or capabilities; configuring the mlx5 IPsec policy is a deployment prerequisite, not an attacker privilege.\nUI:R - The highest-impact stale-object path requires an administrator to request an eswitch mode transition after the attacker has cancelled the live mode-block reference.\nS:U - The resulting corruption affects the same host kernel and mlx5 device security authority, without crossing a VM, IOMMU, or sandbox boundary.\nC:H - The incorrectly permitted mode transition frees mlx5 IPsec structures while XFRM policies retain references to them, creating subsequent use-after-free callbacks capable of exposing kernel memory.\nI:H - The stale policy and flow-table references can be reclaimed and attacker-influenced, making the resulting kernel use-after-free potentially exploitable for arbitrary writes or control-flow hijacking.\nA:H - Mode-transition teardown or later automatic policy expiration can dereference freed IPsec and flow-rule objects, causing a kernel warning, oops, or panic."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:42:35.590Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/b5bd4249e430f5963d559708ee96a671716d2400"
        },
        {
          "url": "https://git.kernel.org/stable/c/ecafd8284e527666e83261e6e57a7c7341d591cb"
        },
        {
          "url": "https://git.kernel.org/stable/c/abe003b33223ff33552f291644bf35d9c2f992fb"
        }
      ],
      "title": "net/mlx5e: Fix eswitch mode block underflow on IPsec acquire SA",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-64522",
    "datePublished": "2026-07-25T09:14:47.404Z",
    "dateReserved": "2026-07-19T15:36:31.794Z",
    "dateUpdated": "2026-08-05T12:42:35.590Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-64522",
      "date": "2026-09-22",
      "epss": "0.00342",
      "percentile": "0.2787"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "b5bd4249e430f5963d559708ee96a671716d2400",
                    "status": "affected",
                    "version": "22239eb258bc1e6ccdb2d3502fce1cc2b2a88386",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "ecafd8284e527666e83261e6e57a7c7341d591cb",
                    "status": "affected",
                    "version": "22239eb258bc1e6ccdb2d3502fce1cc2b2a88386",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "abe003b33223ff33552f291644bf35d9c2f992fb",
                    "status": "affected",
                    "version": "22239eb258bc1e6ccdb2d3502fce1cc2b2a88386",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "993c4ba71596c30418ba5a0ddcf4f9c2f431466a",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "6.18",
                    "status": "affected",
                    "version": "6.17.4",
                    "versionType": "semver"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.18"
                  },
                  {
                    "lessThan": "6.18",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.34",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.0.*",
                    "status": "unaffected",
                    "version": "7.0.11",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.1",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet/mlx5e: Fix eswitch mode block underflow on IPsec acquire SA\n\nmlx5e_xfrm_add_state() handles acquire-flow temporary SAs by allocating\nsoftware state and skipping hardware offload setup.\n\nThat path jumps to the common success label before taking the eswitch mode\nblock. After tunnel-mode validation was moved earlier, the common success\nlabel unconditionally calls mlx5_eswitch_unblock_mode(). For acquire SAs,\nthis decrements esw-\u003eoffloads.num_block_mode without a matching increment.\n\nReturn directly after installing the acquire SA offload handle, so only the\npaths that successfully called mlx5_eswitch_block_mode() call the matching\nunblock."
          }
        ],
        "id": "CVE-2026-64522",
        "lastModified": "2026-07-27T05:16:56.213",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 8.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "REQUIRED",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 2.8,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-07-25T10:17:38.497",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/abe003b33223ff33552f291644bf35d9c2f992fb"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/b5bd4249e430f5963d559708ee96a671716d2400"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/ecafd8284e527666e83261e6e57a7c7341d591cb"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Low",
      "current_release_date": "2026-07-29T13:28:19+00:00",
      "cve": "CVE-2026-64522",
      "id": "CVE-2026-64522",
      "initial_release_date": "2026-07-25T00:00:00+00:00",
      "product_status:known_affected": "198",
      "product_status:known_not_affected": "76",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: net/mlx5e: Fix eswitch mode block underflow on IPsec acquire SA",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-64522.json",
      "version": "3"
    }
  }
}



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…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…