CVE-2025-39702 (GCVE-0-2025-39702)
Vulnerability from cvelistv5
Published
2025-09-05 17:21
Modified
2026-08-05 12:04
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: ipv6: sr: Fix MAC comparison to be constant-time To prevent timing attacks, MACs need to be compared in constant time. Use the appropriate helper function for this.
Impacted products
Vendor Product Version
Linux Linux Version: bf355b8d2c30a289232042cacc1cfaea4923936c
Version: bf355b8d2c30a289232042cacc1cfaea4923936c
Version: bf355b8d2c30a289232042cacc1cfaea4923936c
Version: bf355b8d2c30a289232042cacc1cfaea4923936c
Version: bf355b8d2c30a289232042cacc1cfaea4923936c
Version: bf355b8d2c30a289232042cacc1cfaea4923936c
Version: bf355b8d2c30a289232042cacc1cfaea4923936c
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2025-11-03T17:42:30.669Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "url": "https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "affected": [
          {
            "defaultStatus": "unknown",
            "product": "SIMATIC CN 4100",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "V5.0",
                "status": "affected",
                "version": "0",
                "versionType": "custom"
              }
            ]
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2026-05-12T12:06:24.521Z",
          "orgId": "0b142b55-0307-4c5a-b3c9-f314f3fb7c5e",
          "shortName": "siemens-SADP"
        },
        "references": [
          {
            "url": "https://cert-portal.siemens.com/productcert/html/ssa-032379.html"
          }
        ],
        "x_adpType": "supplier"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/ipv6/seg6_hmac.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "ff55a452d56490047f5233cc48c5d933f8586884",
              "status": "affected",
              "version": "bf355b8d2c30a289232042cacc1cfaea4923936c",
              "versionType": "git"
            },
            {
              "lessThan": "3b348c9c8d2ca2c67559ffd0e258ae7e1107d4f0",
              "status": "affected",
              "version": "bf355b8d2c30a289232042cacc1cfaea4923936c",
              "versionType": "git"
            },
            {
              "lessThan": "86b6d34717fe0570afce07ee79b8eeb40341f831",
              "status": "affected",
              "version": "bf355b8d2c30a289232042cacc1cfaea4923936c",
              "versionType": "git"
            },
            {
              "lessThan": "3ddd55cf19ed6cc62def5e3af10c2a9df1b861c3",
              "status": "affected",
              "version": "bf355b8d2c30a289232042cacc1cfaea4923936c",
              "versionType": "git"
            },
            {
              "lessThan": "b3967c493799e63f648e9c7b6cb063aa2aed04e7",
              "status": "affected",
              "version": "bf355b8d2c30a289232042cacc1cfaea4923936c",
              "versionType": "git"
            },
            {
              "lessThan": "f7878d47560d61e3f370aca3cebb8f42a55b990a",
              "status": "affected",
              "version": "bf355b8d2c30a289232042cacc1cfaea4923936c",
              "versionType": "git"
            },
            {
              "lessThan": "a458b2902115b26a25d67393b12ddd57d1216aaa",
              "status": "affected",
              "version": "bf355b8d2c30a289232042cacc1cfaea4923936c",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/ipv6/seg6_hmac.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.10"
            },
            {
              "lessThan": "4.10",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.249",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.190",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.149",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.103",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.44",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.16.*",
              "status": "unaffected",
              "version": "6.16.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.17",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.249",
                  "versionStartIncluding": "4.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.190",
                  "versionStartIncluding": "4.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.149",
                  "versionStartIncluding": "4.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.103",
                  "versionStartIncluding": "4.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.44",
                  "versionStartIncluding": "4.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.16.4",
                  "versionStartIncluding": "4.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.17",
                  "versionStartIncluding": "4.10",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nipv6: sr: Fix MAC comparison to be constant-time\n\nTo prevent timing attacks, MACs need to be compared in constant time.\nUse the appropriate helper function for this."
        }
      ],
      "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 vulnerable comparison sits in the IPv6 Segment Routing Header receive path (`ipv6_srh_rcv()` and the seg6_local behaviors), processing routed IPv6 packets from any remote source. SRv6 packets are not link-local, so an attacker anywhere on the network can drive the oracle.\nAC:L - The attacker controls both sides of the measurement \u2014 the candidate MAC bytes and an unlimited, self-paced stream of probe packets \u2014 so the byte-at-a-time `memcmp` leak can be amplified by repetition and statistical averaging, including jitter-immune concurrent-probe techniques. No condition depends on state the attacker cannot influence.\nPR:N - The HMAC validation is itself the authentication gate for the SR domain; nothing on the path from packet receive to `seg6_hmac_validate_skb()` checks any credential or capability. The attacker is an unauthenticated off-path/off-domain sender.\nUI:N - Exploitation requires only sending crafted SRv6 packets to the target; no victim action is involved.\nS:U - The forged authentication is consumed and acted upon within the same kernel networking authority that performs the check; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - Forging the SRH MAC bypasses the SR-domain trust boundary, letting the attacker source-route packets to otherwise unreachable internal nodes and, via End.DT4/DT6/DX behaviors, into isolated tenant VRFs and L2 domains, with the return path steerable back to the attacker. The timing oracle additionally recovers secret-key-derived MAC values.\nI:H - A recovered MAC makes the kernel accept attacker-crafted segment lists as authentic, allowing arbitrary rewriting of forwarding paths and injection of spoofed traffic into tenant networks and internal L2 bridges \u2014 a complete authentication bypass of the SRv6 integrity mechanism.\nA:H - Forged segment lists can be built to loop packets repeatedly between SR nodes and to blackhole or misdirect legitimate traffic, disrupting forwarding for the node and the SR domain it serves."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:04:40.981Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/ff55a452d56490047f5233cc48c5d933f8586884"
        },
        {
          "url": "https://git.kernel.org/stable/c/3b348c9c8d2ca2c67559ffd0e258ae7e1107d4f0"
        },
        {
          "url": "https://git.kernel.org/stable/c/86b6d34717fe0570afce07ee79b8eeb40341f831"
        },
        {
          "url": "https://git.kernel.org/stable/c/3ddd55cf19ed6cc62def5e3af10c2a9df1b861c3"
        },
        {
          "url": "https://git.kernel.org/stable/c/b3967c493799e63f648e9c7b6cb063aa2aed04e7"
        },
        {
          "url": "https://git.kernel.org/stable/c/f7878d47560d61e3f370aca3cebb8f42a55b990a"
        },
        {
          "url": "https://git.kernel.org/stable/c/a458b2902115b26a25d67393b12ddd57d1216aaa"
        }
      ],
      "title": "ipv6: sr: Fix MAC comparison to be constant-time",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-39702",
    "datePublished": "2025-09-05T17:21:08.674Z",
    "dateReserved": "2025-04-16T07:20:57.115Z",
    "dateUpdated": "2026-08-05T12:04:40.981Z",
    "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…