CVE-2025-40294
Description
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: MGMT: Fix OOB access in parse_adv_monitor_pattern()
In the parse_adv_monitor_pattern() function, the value of the 'length' variable is currently limited to HCI_MAX_EXT_AD_LENGTH(251). The size of the 'value' array in the mgmt_adv_pattern structure is 31. If the value of 'pattern[i].length' is set in the user space and exceeds 31, the 'patterns[i].value' array can be accessed out of bound when copied.
Increasing the size of the 'value' array in the 'mgmt_adv_pattern' structure will break the userspace. Considering this, and to avoid OOB access revert the limits for 'offset' and 'length' back to the value of HCI_MAX_AD_LENGTH.
Found by InfoTeCS on behalf of Linux Verification Center (linuxtesting.org) with SVACE.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Fixed an OOB memory access in Linux Bluetooth MGMT's parse_adv_monitor_pattern() due to missing size check on pattern data length.
Root
Cause
The vulnerability resides in parse_adv_monitor_pattern() within the Bluetooth MGMT subsystem of the Linux kernel. The function limits the length variable to HCI_MAX_EXT_AD_LENGTH (251), but the value array in the mgmt_adv_pattern structure has a fixed size of 31. When a user-space application sets pattern[i].length to a value greater than 31, the subsequent copy operation writes beyond the bounds of patterns[i].value, triggering an out-of-bounds (OOB) access [1][2].
Exploitation
Path
An attacker with the ability to send crafted MGMT commands from user space can exploit this flaw. No authentication is needed beyond the ability to interact with the Bluetooth subsystem via the MGMT socket. By supplying a length field exceeding 31 but within the 251 limit, the attacker forces an OOB write, potentially corrupting adjacent kernel memory [1][2].
Impact
Successful exploitation may lead to memory corruption, system crash (denial of service), or potentially arbitrary code execution in kernel context. The vulnerability was discovered by InfoTeCS on behalf of the Linux Verification Center (linuxtesting.org) using the SVACE static analysis tool [1][2].
Mitigation
The fix reverts the limits for offset and length back to HCI_MAX_AD_LENGTH, preventing the mismatch between user-supplied length and the fixed-size internal buffer. Affected stable kernels have received the patch; users should update to the latest kernel version containing the commit. No workaround is available [1][2].
AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
2Patches
596616530f5245f7350ff2b174b7d4aa5399b3a50d59b37818d59fba49362Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
5- git.kernel.org/stable/c/3a50d59b3781bc3a4e96533612509546a4c309a7nvd
- git.kernel.org/stable/c/4b7d4aa5399b5a64caee639275615c63c008540dnvd
- git.kernel.org/stable/c/5f7350ff2b179764a4f40ba4161b60b8aaef857bnvd
- git.kernel.org/stable/c/8d59fba49362c65332395789fd82771f1028d87envd
- git.kernel.org/stable/c/96616530f524a0a76248cd44201de0a9e8526190nvd
News mentions
0No linked articles in our index yet.