CVE-2026-74533 (GCVE-0-2026-74533)
Vulnerability from cvelistv5
Published
2026-08-15 12:27
Modified
2026-08-17 05:48
Summary
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: ISO: fix race of kfree vs kref_get_unless_zero hci_conn::iso_data is accessed and modified without lock or RCU. This leads to a race [Task hdev->workqueue] [Task 2] iso_recv iso_conn_put(conn) conn = LOAD hcon->iso_data iso_conn_free(conn) iso_conn_hold_unless_zero(conn) hcon->iso_data = NULL kfree(conn) kref_get_unless_zero(&conn->ref) /* UAF */ and also to races in iso_conn_add() vs. iso_conn_free(). Fix by adding spinlock hci_conn::proto_lock and using it to guard hci_conn::iso_data.
Impacted products
Vendor Product Version
Linux Linux Version: dc26097bdb864a0d5955b9a25e43376ffc1af99b
Version: dc26097bdb864a0d5955b9a25e43376ffc1af99b
Version: f53e7489273dc2bb307bf50f319b3762d45534f0
Version: a58d0f5dac322e16cc75334d000666512341bde5
Version: 6.11.11   
Version: 6.12.2   
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "include/net/bluetooth/hci_core.h",
            "net/bluetooth/hci_conn.c",
            "net/bluetooth/iso.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "876a3e94c70d0859d1dad1c986112d4f0d99eba8",
              "status": "affected",
              "version": "dc26097bdb864a0d5955b9a25e43376ffc1af99b",
              "versionType": "git"
            },
            {
              "lessThan": "af24e338bf5dafb80f42baa9a0b9e9b57b1c5d9c",
              "status": "affected",
              "version": "dc26097bdb864a0d5955b9a25e43376ffc1af99b",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "f53e7489273dc2bb307bf50f319b3762d45534f0",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "a58d0f5dac322e16cc75334d000666512341bde5",
              "versionType": "git"
            },
            {
              "lessThan": "6.12",
              "status": "affected",
              "version": "6.11.11",
              "versionType": "semver"
            },
            {
              "lessThan": "6.13",
              "status": "affected",
              "version": "6.12.2",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "include/net/bluetooth/hci_core.h",
            "net/bluetooth/hci_conn.c",
            "net/bluetooth/iso.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.13"
            },
            {
              "lessThan": "6.13",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.8",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.8",
                  "versionStartIncluding": "6.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "6.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "6.11.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "6.12.2",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: ISO: fix race of kfree vs kref_get_unless_zero\n\nhci_conn::iso_data is accessed and modified without lock or RCU.\nThis leads to a race\n\n    [Task hdev-\u003eworkqueue]                 \t[Task 2]\n    iso_recv                                    iso_conn_put(conn)\n      conn = LOAD hcon-\u003eiso_data                  iso_conn_free(conn)\n      iso_conn_hold_unless_zero(conn)               hcon-\u003eiso_data = NULL\n                                                    kfree(conn)\n        kref_get_unless_zero(\u0026conn-\u003eref) /* UAF */\n\nand also to races in iso_conn_add() vs. iso_conn_free().\n\nFix by adding spinlock hci_conn::proto_lock and using it to guard\nhci_conn::iso_data."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 8.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:A - The bug is in Bluetooth ISO receive handling (iso_recv in net/bluetooth/iso.c), reached when HCI processes ISO data packets from an adjacent BLE CIS/BIS/LE Audio peer via hci_recv_frame and hdev-\u003eworkqueue; per kernel guidance Bluetooth radio reachability is Adjacent.\nAC:L - The race is between iso_recv loading hcon-\u003eiso_data and iso_conn_free kfree-ing the same iso_conn; an attacker controls both sides by concurrently sending ISO HCI data while disconnecting or closing the ISO socket, without relying on uncontrollable memory layout.\nPR:N - BTPROTO_ISO sockets require no CAP_NET_ADMIN or CAP_NET_RAW; an unprivileged local process can open and tear down ISO connections, and an adjacent Bluetooth peer can drive iso_recv and hci disconnect events without any credentials on the victim host.\nUI:N - No victim interaction is needed during exploitation of an active ISO session; a remote peer can race incoming ISO packets against link teardown, and a local attacker can close its own ISO socket while receiving data without opening files or mounts.\nS:U - The UAF corrupts kernel heap memory in the Bluetooth ISO subsystem on the host, enabling standard local privilege escalation within the kernel boundary rather than crossing VM, container, or IOMMU isolation.\nC:H - iso_conn_hold_unless_zero calls kref_get_unless_zero on a freed iso_conn slab object after iso_conn_free kfree, and iso_recv then dereferences conn fields, a classic use-after-free enabling arbitrary kernel memory disclosure.\nI:H - The UAF on iso_conn (kref, spinlock, sk_buff and socket pointers) permits heap spraying and corruption of conn-\u003erx_skb/rx_len, providing primitives chainable to arbitrary kernel writes and control-flow hijacking.\nA:H - The use-after-free in iso_conn_hold_unless_zero during concurrent iso_recv and iso_conn_put reliably causes kernel oops or panic on freed slab memory, meeting High availability impact per kernel CVSS guidance for UAF crashes."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:48:22.228Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/876a3e94c70d0859d1dad1c986112d4f0d99eba8"
        },
        {
          "url": "https://git.kernel.org/stable/c/af24e338bf5dafb80f42baa9a0b9e9b57b1c5d9c"
        }
      ],
      "title": "Bluetooth: ISO: fix race of kfree vs kref_get_unless_zero",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-74533",
    "datePublished": "2026-08-15T12:27:47.219Z",
    "dateReserved": "2026-08-15T05:44:03.912Z",
    "dateUpdated": "2026-08-17T05:48:22.228Z",
    "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…