Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2026-31500— Bluetooth: btintel: serialize btintel_hw_error() with hci_req_sync_lock

EPSS 0.01% · P2
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2026-31500

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Bluetooth: btintel: serialize btintel_hw_error() with hci_req_sync_lock
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btintel: serialize btintel_hw_error() with hci_req_sync_lock btintel_hw_error() issues two __hci_cmd_sync() calls (HCI_OP_RESET and Intel exception-info retrieval) without holding hci_req_sync_lock(). This lets it race against hci_dev_do_close() -> btintel_shutdown_combined(), which also runs __hci_cmd_sync() under the same lock. When both paths manipulate hdev->req_status/req_rsp concurrently, the close path may free the response skb first, and the still-running hw_error path hits a slab-use-after-free in kfree_skb(). Wrap the whole recovery sequence in hci_req_sync_lock/unlock so it is serialized with every other synchronous HCI command issuer. Below is the data race report and the kasan report: BUG: data-race in __hci_cmd_sync_sk / btintel_shutdown_combined read of hdev->req_rsp at net/bluetooth/hci_sync.c:199 by task kworker/u17:1/83: __hci_cmd_sync_sk+0x12f2/0x1c30 net/bluetooth/hci_sync.c:200 __hci_cmd_sync+0x55/0x80 net/bluetooth/hci_sync.c:223 btintel_hw_error+0x114/0x670 drivers/bluetooth/btintel.c:254 hci_error_reset+0x348/0xa30 net/bluetooth/hci_core.c:1030 write/free by task ioctl/22580: btintel_shutdown_combined+0xd0/0x360 drivers/bluetooth/btintel.c:3648 hci_dev_close_sync+0x9ae/0x2c10 net/bluetooth/hci_sync.c:5246 hci_dev_do_close+0x232/0x460 net/bluetooth/hci_core.c:526 BUG: KASAN: slab-use-after-free in sk_skb_reason_drop+0x43/0x380 net/core/skbuff.c:1202 Read of size 4 at addr ffff888144a738dc by task kworker/u17:1/83: __hci_cmd_sync_sk+0x12f2/0x1c30 net/bluetooth/hci_sync.c:200 __hci_cmd_sync+0x55/0x80 net/bluetooth/hci_sync.c:223 btintel_hw_error+0x186/0x670 drivers/bluetooth/btintel.c:260
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于btintel驱动中btintel_hw_error函数缺少hci_req_sync_lock保护,可能导致数据竞争和释放后重用。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
LinuxLinux 973bb97e5aee56edddaae3d5c96877101ad509c0 ~ 5f84e845648dfa86e42de5487f1a774b42f0444d -
LinuxLinux 4.3 -

II. Public POCs for CVE-2026-31500

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-31500

登录查看更多情报信息。

Same Patch Batch · Linux · 2026-04-22 · 100 CVEs total

CVE-2026-314639.8 CRITICALiomap: fix invalid folio access when i_blkbits differs from I/O granularity
CVE-2026-314449.8 CRITICALksmbd: fix use-after-free and NULL deref in smb_grant_oplock()
CVE-2026-314369.8 CRITICALdmaengine: idxd: fix possible wrong descriptor completion in llist_abort_desc()
CVE-2026-314789.8 CRITICALksmbd: replace hardcoded hdr2_len with offsetof() in smb2_calc_max_out_buf_len()
CVE-2026-315019.8 CRITICALnet: ti: icssg-prueth: fix use-after-free of CPPI descriptor in RX path
CVE-2026-314489.4 CRITICALext4: avoid infinite loops caused by residual data
CVE-2026-314328.8 HIGHksmbd: fix OOB write in QUERY_INFO for compound requests
CVE-2026-314338.8 HIGHksmbd: fix potencial OOB in get_file_all_info() for compound requests
CVE-2026-314508.8 HIGHext4: publish jinode after initialization
CVE-2026-314358.8 HIGHnetfs: Fix read abandonment during retry
CVE-2026-314768.2 HIGHksmbd: do not expire session on binding failure
CVE-2026-314648.1 HIGHscsi: ibmvfc: Fix OOB access in ibmvfc_discover_targets_done()
CVE-2026-315138.1 HIGHBluetooth: L2CAP: Fix stack-out-of-bounds read in l2cap_ecred_conn_req
CVE-2026-315047.8 HIGHnet: fix fanout UAF in packet_release() via NETDEV_UP race
CVE-2026-314497.8 HIGHext4: validate p_idx bounds in ext4_ext_correct_indexes
CVE-2026-315027.8 HIGHteam: fix header_ops type confusion with non-Ethernet ports
CVE-2026-314317.8 HIGHcrypto: algif_aead - Revert to operating out-of-place
CVE-2026-314887.8 HIGHdrm/amd/display: Do not skip unrelated mode changes in DSC validation
CVE-2026-314907.8 HIGHdrm/xe/pf: Fix use-after-free in migration restore
CVE-2026-314547.8 HIGHxfs: save ailp before dropping the AIL lock in push callbacks

Showing top 20 of 100 CVEs. View all on vendor page → →

IV. Related Vulnerabilities

V. Comments for CVE-2026-31500

No comments yet


Leave a comment