{
  "affected": [
    {
      "ranges": [
        {
          "events": [
            {
              "introduced": "91d19383b7ed035e22165ae5c836e50bb9f95fbe"
            },
            {
              "fixed": "f5d446624345d309e7a4a1b27ea9f028d6a8c5d9"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "42ecf1947135110ea08abeaca39741636f9a2285"
            },
            {
              "fixed": "aba0aea354015794e8312dd7efe726967e58aefe"
            },
            {
              "fixed": "eaf32002ca7b1ba51c9f140991fd9febe6de79f0"
            },
            {
              "fixed": "bc39a094730ce062fa034a529c93147c096cb488"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "last_affected": "8958e1cee4e2eac1a5b825caa4dd96ce9ed975dd"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "6.12.2"
            },
            {
              "fixed": "6.12.81"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "6.11.11"
            },
            {
              "fixed": "6.12"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Linux",
        "name": "Kernel"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "6.12.81"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.13.0"
            },
            {
              "fixed": "6.18.22"
            },
            {
              "fixed": "6.19.12"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "database_specific": {
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31772.json"
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: hci_sync: fix stack buffer overflow in hci_le_big_create_sync\n\nhci_le_big_create_sync() uses DEFINE_FLEX to allocate a\nstruct hci_cp_le_big_create_sync on the stack with room for 0x11 (17)\nBIS entries.  However, conn-\u003enum_bis can hold up to HCI_MAX_ISO_BIS (31)\nentries — validated against ISO_MAX_NUM_BIS (0x1f) in the caller\nhci_conn_big_create_sync().  When conn-\u003enum_bis is between 18 and 31,\nthe memcpy that copies conn-\u003ebis into cp-\u003ebis writes up to 14 bytes\npast the stack buffer, corrupting adjacent stack memory.\n\nThis is trivially reproducible: binding an ISO socket with\nbc_num_bis = ISO_MAX_NUM_BIS (31) and calling listen() will\neventually trigger hci_le_big_create_sync() from the HCI command\nsync worker, causing a KASAN-detectable stack-out-of-bounds write:\n\n  BUG: KASAN: stack-out-of-bounds in hci_le_big_create_sync+0x256/0x3b0\n  Write of size 31 at addr ffffc90000487b48 by task kworker/u9:0/71\n\nFix this by changing the DEFINE_FLEX count from the incorrect 0x11 to\nHCI_MAX_ISO_BIS, which matches the maximum number of BIS entries that\nconn-\u003ebis can actually carry.",
  "id": "CVE-2026-31772",
  "modified": "2026-07-08T05:39:26.493456287Z",
  "published": "2026-05-01T14:15:00.582Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/aba0aea354015794e8312dd7efe726967e58aefe"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/bc39a094730ce062fa034a529c93147c096cb488"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/eaf32002ca7b1ba51c9f140991fd9febe6de79f0"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/f5d446624345d309e7a4a1b27ea9f028d6a8c5d9"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31772.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-31772"
    },
    {
      "type": "PACKAGE",
      "url": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
    }
  ],
  "schema_version": "1.7.5",
  "severity": [
    {
      "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ],
  "summary": "Bluetooth: hci_sync: fix stack buffer overflow in hci_le_big_create_sync"
}