]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
Bluetooth: MGMT: validate mesh send advertising payload length
authorKeenan Dong <keenanat2000@gmail.com>
Wed, 1 Apr 2026 14:25:26 +0000 (22:25 +0800)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Wed, 1 Apr 2026 20:47:19 +0000 (16:47 -0400)
commitbda93eec78cdbfe5cda00785cefebd443e56b88b
treeaa07f6bc7a3c7f74398edf881ff3b862a2d07a18
parentb255531b27da336571411248c2a72a350662bd09
Bluetooth: MGMT: validate mesh send advertising payload length

mesh_send() currently bounds MGMT_OP_MESH_SEND by total command
length, but it never verifies that the bytes supplied for the
flexible adv_data[] array actually match the embedded adv_data_len
field. MGMT_MESH_SEND_SIZE only covers the fixed header, so a
truncated command can still pass the existing 20..50 byte range
check and later drive the async mesh send path past the end of the
queued command buffer.

Keep rejecting zero-length and oversized advertising payloads, but
validate adv_data_len explicitly and require the command length to
exactly match the flexible array size before queueing the request.

Fixes: b338d91703fa ("Bluetooth: Implement support for Mesh")
Reported-by: Keenan Dong <keenanat2000@gmail.com>
Signed-off-by: Keenan Dong <keenanat2000@gmail.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
net/bluetooth/mgmt.c