CVE-2026-53146 (GCVE-0-2026-53146)
Vulnerability from cvelistv5
Published
2026-06-25 08:38
Modified
2026-08-05 12:33
Summary
In the Linux kernel, the following vulnerability has been resolved: thunderbolt: Limit XDomain response copy to actual frame size tb_xdomain_copy() copies req->response_size bytes from the received packet buffer regardless of the actual frame size. When a short response arrives, this reads past the valid frame data in the DMA pool buffer into stale contents from previous transactions. Use the minimum of frame size and expected response size for the copy length.
Impacted products
Vendor Product Version
Linux Linux Version: cdae7c07e3e3509eaabc18c1640a55dc5b99c179
Version: cdae7c07e3e3509eaabc18c1640a55dc5b99c179
Version: cdae7c07e3e3509eaabc18c1640a55dc5b99c179
Version: cdae7c07e3e3509eaabc18c1640a55dc5b99c179
Version: cdae7c07e3e3509eaabc18c1640a55dc5b99c179
Version: cdae7c07e3e3509eaabc18c1640a55dc5b99c179
Version: cdae7c07e3e3509eaabc18c1640a55dc5b99c179
Version: cdae7c07e3e3509eaabc18c1640a55dc5b99c179
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/thunderbolt/xdomain.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "c55da494dfb445fb28df3a9d293c2be6a299cd01",
              "status": "affected",
              "version": "cdae7c07e3e3509eaabc18c1640a55dc5b99c179",
              "versionType": "git"
            },
            {
              "lessThan": "7720654b4842bcdfeb64bc002f6186041849e1e7",
              "status": "affected",
              "version": "cdae7c07e3e3509eaabc18c1640a55dc5b99c179",
              "versionType": "git"
            },
            {
              "lessThan": "033dfa63bf6be2653441a1dccae4a8313a91bb9d",
              "status": "affected",
              "version": "cdae7c07e3e3509eaabc18c1640a55dc5b99c179",
              "versionType": "git"
            },
            {
              "lessThan": "fc261397295b8ad0654cec747b0ec25ea0011995",
              "status": "affected",
              "version": "cdae7c07e3e3509eaabc18c1640a55dc5b99c179",
              "versionType": "git"
            },
            {
              "lessThan": "a15b6d3136accb2bf84b04d9a3ddd991f7fbf1cb",
              "status": "affected",
              "version": "cdae7c07e3e3509eaabc18c1640a55dc5b99c179",
              "versionType": "git"
            },
            {
              "lessThan": "b5daa920f44cb582272fc9bfaeb67408776cbaef",
              "status": "affected",
              "version": "cdae7c07e3e3509eaabc18c1640a55dc5b99c179",
              "versionType": "git"
            },
            {
              "lessThan": "b2c1e5d9f1598cc1a4736d5c6bd1218f90805ee4",
              "status": "affected",
              "version": "cdae7c07e3e3509eaabc18c1640a55dc5b99c179",
              "versionType": "git"
            },
            {
              "lessThan": "4db2bd2ed4785dbadaeeab9f4e346b21ac5fb8eb",
              "status": "affected",
              "version": "cdae7c07e3e3509eaabc18c1640a55dc5b99c179",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/thunderbolt/xdomain.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": "5.10.*",
              "status": "unaffected",
              "version": "5.10.259",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.210",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.176",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.143",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.94",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.36",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.0.*",
              "status": "unaffected",
              "version": "7.0.13",
              "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": "5.10.259",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.210",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.176",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.143",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.94",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.36",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0.13",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nthunderbolt: Limit XDomain response copy to actual frame size\n\ntb_xdomain_copy() copies req-\u003eresponse_size bytes from the received\npacket buffer regardless of the actual frame size.  When a short\nresponse arrives, this reads past the valid frame data in the DMA\npool buffer into stale contents from previous transactions.\n\nUse the minimum of frame size and expected response size for the\ncopy length."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.1,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:A - Exploitation requires a malicious peer on the same Thunderbolt/USB4 XDomain fabric to send crafted control-channel responses. This is not internet-routable, but it is reachable over the adjacent local interconnect once the peer is connected.\nAC:L - The attacker can reply to automatic XDomain handshake requests with a short, CRC-valid response matching the observed route and protocol UUID. No race or external timing condition is required.\nPR:N - The attacker is the external XDomain peer and does not need credentials or privileges on the victim Linux system. The module parameter and ACPI allowance are deployment gates, not attacker privilege checks.\nUI:N - After the malicious peer is present on the Thunderbolt/USB4 link, XDomain discovery runs automatically. No victim user action is required to trigger the vulnerable copy.\nS:U - The vulnerable code and impacts are within the victim kernel/Thunderbolt domain. This does not cross a VM, IOMMU, or separate security authority boundary.\nC:H - The bug is an out-of-bounds source read from the Thunderbolt control DMA frame buffer into kernel response objects, exposing stale contents from previous transactions. Because the over-read is not limited to only a few bytes and can influence/reflection paths such as XDomain UUID/properties handling, confidentiality is High.\nI:L - Stale bytes copied into trusted XDomain response structures can alter limited kernel protocol state such as peer identity, route, link status, or advertised properties. There is no direct arbitrary write or control-flow corruption from this fix alone.\nA:N - The copy destination is sized for the expected response, and the over-read stays within the DMA frame allocation rather than causing an immediate kernel crash. A malicious peer can disrupt its own XDomain handshake, but this bug does not create a distinct system availability impact."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:33:29.560Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/c55da494dfb445fb28df3a9d293c2be6a299cd01"
        },
        {
          "url": "https://git.kernel.org/stable/c/7720654b4842bcdfeb64bc002f6186041849e1e7"
        },
        {
          "url": "https://git.kernel.org/stable/c/033dfa63bf6be2653441a1dccae4a8313a91bb9d"
        },
        {
          "url": "https://git.kernel.org/stable/c/fc261397295b8ad0654cec747b0ec25ea0011995"
        },
        {
          "url": "https://git.kernel.org/stable/c/a15b6d3136accb2bf84b04d9a3ddd991f7fbf1cb"
        },
        {
          "url": "https://git.kernel.org/stable/c/b5daa920f44cb582272fc9bfaeb67408776cbaef"
        },
        {
          "url": "https://git.kernel.org/stable/c/b2c1e5d9f1598cc1a4736d5c6bd1218f90805ee4"
        },
        {
          "url": "https://git.kernel.org/stable/c/4db2bd2ed4785dbadaeeab9f4e346b21ac5fb8eb"
        }
      ],
      "title": "thunderbolt: Limit XDomain response copy to actual frame size",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-53146",
    "datePublished": "2026-06-25T08:38:32.877Z",
    "dateReserved": "2026-06-09T07:44:35.387Z",
    "dateUpdated": "2026-08-05T12:33:29.560Z",
    "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…