CVE-2026-53253CWE-125

CVE-2026-53253

High · published June 25, 2026

CVSS v3.1
7.1
EPSS
0%
Percentile
17.4
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

Bluetooth: bnep: reject short frames before parsing

A BNEP peer can send a short BNEP SDU. bnep_rx_frame() reads the

packet type byte immediately and, for control packets, reads the control

opcode and setup UUID-size byte before proving that those bytes are

present. bnep_rx_control() also dereferences the control opcode without

rejecting an empty control payload.

Use skb_pull_data() for the fixed fields in bnep_rx_frame() so a NULL

return gates each dereference. Split the control handler so the frame

path can pass an opcode that has already been pulled, and keep the

byte-buffer wrapper for extension control payloads.

For BNEP_SETUP_CONN_REQ, name the UUID-size byte before pulling the

setup payload. struct bnep_setup_conn_req carries destination and source

service UUIDs after that byte, each uuid_size bytes, so the parser now

documents that tuple explicitly instead of leaving the pull length as an

opaque multiplication.

Validation reproduced this kernel report:

KASAN slab-out-of-bounds in bnep_rx_frame.isra.0+0x130c/0x1790

The buggy address belongs to the object at ffff88800c0f7908 which belongs

to the cache kmalloc-8 of size 8

The buggy address is located 0 bytes to the right of allocated 1-byte

region [ffff88800c0f7908, ffff88800c0f7909)

Read of size 1

Call trace:

dump_stack_lvl+0xb3/0x140 (?:?)

print_address_description+0x57/0x3a0 (?:?)

bnep_rx_frame+0x130c/0x1790 (net/bluetooth/bnep/core.c:306)

print_report+0xb9/0x2b0 (?:?)

__virt_addr_valid+0x1ba/0x3a0 (?:?)

srso_alias_return_thunk+0x5/0xfbef5 (?:?)

kasan_addr_to_slab+0x21/0x60 (?:?)

kasan_report+0xe0/0x110 (?:?)

process_one_work+0xfce/0x17e0 (kernel/workqueue.c:3200)

worker_thread+0x65c/0xe40 (?:?)

__kthread_parkme+0x184/0x230 (?:?)

kthread+0x35e/0x470 (?:?)

_raw_spin_unlock_irq+0x28/0x50 (?:?)

ret_from_fork+0x586/0x870 (?:?)

__switch_to+0x74f/0xdc0 (?:?)

ret_from_fork_asm+0x1a/0x30 (?:?)

The record
Technical detail
CVSS v3.1
7.1 · HIGH
Vector
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00265 · 17.4th percentile
Weakness
CWE-125 · Out-of-bounds Read
Published
2026-06-25T13:16Z
Affected products (17)
ProductVersionsFixed in
linux/linux_kernel≥ 2.6.12.1, < 5.15.2105.15.210
linux/linux_kernel≥ 5.16, < 6.1.1766.1.176
linux/linux_kernel≥ 6.2, < 6.6.1436.6.143
linux/linux_kernel≥ 6.7, < 6.12.946.12.94
linux/linux_kernel≥ 6.13, < 6.18.366.18.36
linux/linux_kernel≥ 6.19, < 7.0.137.0.13
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (8)
EPSS history
Timeline
  • 25 JUN 08:39Z
    Bluetooth: bnep: reject short frames before parsing
    cvelistv5