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

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-90251— Bluetooth: MSFT: validate evt_prefix_len against the response length

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

在 Linux 内核中,以下漏洞已得到修复: 蓝牙:MSFT:验证 evt_prefix_len 是否与响应长度匹配 函数仅检查响应是否覆盖了 的固定部分(11 字节): 其中 是一个柔性数组成员,而 是一个未经验证的 u8 类型值,直接取自该响应。因此: 最多会从回复中复制 255 字节,但该回复可能根本没有携带这些数据。被复制的是控制器从未发送的数据,随后在 中用于匹配传入的厂商事件。 这并非越界访问。由于 skb 数据分配始终在负载之后保留至少 字节的额外空间,该空间大于 255 字节的最大值,因此读取操作仍

AI Predicted 5.5 Difficulty: Moderate

Affected Version Matrix 18

VendorProduct Version RangeStatus
Linux Linux 145373cb1b1fcdba2059e945d0aa2613af2e84d1< dce783a10e70f013410f5b583a29fc3286899629 affected
145373cb1b1fcdba2059e945d0aa2613af2e84d1< 21f539c59ed330b671d75fd119c5f659ff92fbd1 affected
145373cb1b1fcdba2059e945d0aa2613af2e84d1< 52b1b3b4d403cbda1b70ce2385e1a71f166a87ba affected
145373cb1b1fcdba2059e945d0aa2613af2e84d1< e804d54a5a99d99250490e68093eff7190472e6f affected
145373cb1b1fcdba2059e945d0aa2613af2e84d1< 620c2631cff490d14d0b9d56f185cc745806d6d7 affected
145373cb1b1fcdba2059e945d0aa2613af2e84d1< 7c2658023d839b651368a5b8b781bf9a817647cb affected
145373cb1b1fcdba2059e945d0aa2613af2e84d1< 63562cfaea8a650fdb31ee8de21c32e3600be642 affected
145373cb1b1fcdba2059e945d0aa2613af2e84d1< 0079e1a944634ab2dc1c7cdec1144486d096407e affected
… +10 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-90251

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: MSFT: validate evt_prefix_len against the response length
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: MSFT: validate evt_prefix_len against the response length read_supported_features() only checks that the response covers the fixed part of struct msft_rp_read_supported_features, which is 11 bytes: if (skb->len < sizeof(*rp)) { bt_dev_err(hdev, "MSFT supported features length mismatch"); goto failed; } evt_prefix[] is a flexible array member and rp->evt_prefix_len is an unvalidated u8 taken straight out of that response, so msft->evt_prefix = kmemdup(rp->evt_prefix, rp->evt_prefix_len, GFP_KERNEL); copies up to 255 bytes from a reply that may have carried none of them. What is copied is data the controller never sent, and it is then used to match incoming vendor events in msft_vendor_evt(). This is not an out-of-bounds access. An skb data allocation always has at least SKB_DATA_ALIGN(sizeof(struct skb_shared_info)) bytes past the payload, which is more than the 255 byte maximum, so the read stays inside the allocation and KASAN does not report it. It is still a read of bytes the host was never given, with the length fully controlled by the controller. Reject a response that is too short for the prefix it declares. Verified with an emulated controller over /dev/vhci on a KASAN kernel, with vhci made to advertise an MSFT opcode the way btintel, btqca, btmtk and btrtl do unconditionally. A reply of exactly 11 bytes declaring evt_prefix_len = 255 reaches kmemdup and copies 255 bytes ("skb->len=11 evt_prefix_len=255", with the copied buffer dumped); since the reply ends at the fixed part, all 255 come from past the end of the response. No KASAN report is produced, as expected from the allocation slack described above. With this patch the response is rejected with "MSFT event prefix length mismatch" and msft->evt_prefix is left unset.
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux 145373cb1b1fcdba2059e945d0aa2613af2e84d1 ~ dce783a10e70f013410f5b583a29fc3286899629 -
Linux Linux 5.8 -

II. Public POCs for CVE-2026-90251

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-90251

登录查看更多情报信息。

Patches & Fixes for CVE-2026-90251 (6)

Other References for CVE-2026-90251 (2)

Same Patch Batch · Linux · 2026-09-17 · 602 CVEs total

CVE-2026-90257 Bluetooth: virtio_bt: avoid OOB read of build info string
CVE-2026-90238 media: amd: isp4: fix self-deadlock in isp4sd_pwron_and_init() error path
CVE-2026-90240 iommu/vt-d: Flush context cache with correct SID when tearing down aliases
CVE-2026-90239 media: amd: isp4: release partial allocations in isp4if_alloc_fw_gpumem()
CVE-2026-90241 iommu/vt-d: Tear down scalable-mode context on probe failure
CVE-2026-90243 iommu/vt-d: Clear Present bit before tearing down copied context entry
CVE-2026-90242 iommu/vt-d: Fix iopf_refcount leak on RID domain replacement
CVE-2026-90244 iommu/dma: Restore locking around msi_page_list
CVE-2026-90245 fbdev: kyro: Validate overlay viewport coordinates
CVE-2026-90246 apparmor: fix integer overflow in verify_tags() bounds check
CVE-2026-90247 bpf: Fix mmap_lock leak in irq_work path
CVE-2026-90248 net/sched: cls_api: fix teardown of an adopted proto on insert-race loss
CVE-2026-90249 iio: light: gp2ap002: Fix unbalanced runtime PM on repeated event writes
CVE-2026-90250 bpf, cgroup: Fix storage null-ptr-deref after replacing prog
CVE-2026-90253 Bluetooth: MGMT: free the mesh send cancel command when it is cancelled
CVE-2026-90252 Bluetooth: MGMT: free the HCI command when it is cancelled
CVE-2026-90254 Bluetooth: hci_sync: free the advertising instance on the failure and cancel paths
CVE-2026-90256 Bluetooth: L2CAP: use proto_lock for l2cap_data to fix l2cap_disconn_ind
CVE-2026-90255 Bluetooth: hci_conn: fix the SCO setup context lifetime
CVE-2026-90267 scsi: sd: Fix special_vec mempool leak when scsi_alloc_sgtables() fails

Showing top 20 of 602 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2026-90251

No comments yet


Leave a comment