Bluetooth: MGMT: Fix OOB access in parse_adv_monitor_pattern()
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.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 6.1.159, 6.12.58, 6.17.8, 6.6.117
- CVEs
- CVE-2025-40294
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 12:43 UTC · Revision 1
Source evidence
Bluetooth: MGMT: Fix OOB access in parse_adv_monitor_pattern()
core-osv · Original sourcePublished 8 Dec 2025, 00:46 UTC
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.
osv:CVE-2025-40294
Kernel
Fixed versions: 6.1.159, 6.6.117, 6.12.58, 6.17.8
Complete source record
{
"id": "9128e2bf41bc83f51de02f1e7d32b041d70f726a614fb3465d6b3c9deb5e85a2",
"url": "https://osv.dev/vulnerability/CVE-2025-40294",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Bluetooth: MGMT: Fix OOB access in parse_adv_monitor_pattern()",
"summary": "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.",
"evidence": "osv:CVE-2025-40294",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "6.1.159",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.117",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.58",
"evidence": "/affected/1/ranges"
},
{
"value": "6.17.8",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2025-40294",
"aliases": [
"CVE-2025-40294"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "99f30e12e588f9982a6eb1916e53510bff25b3b8"
},
{
"fixed": "96616530f524a0a76248cd44201de0a9e8526190"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "db08722fc7d46168fe31d9b8a7b29229dd959f9f"
},
{
"fixed": "5f7350ff2b179764a4f40ba4161b60b8aaef857b"
},
{
"fixed": "4b7d4aa5399b5a64caee639275615c63c008540d"
},
{
"fixed": "3a50d59b3781bc3a4e96533612509546a4c309a7"
},
{
"fixed": "8d59fba49362c65332395789fd82771f1028d87e"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "6.1.83"
},
{
"fixed": "6.1.159"
}
]
}
],
"versions": [
"v6.1.158",
"v6.1.157",
"v6.1.156",
"v6.1.155",
"v6.1.154",
"v6.1.153",
"v6.1.152",
"v6.1.151",
"v6.1.150",
"v6.1.149",
"v6.1.148",
"v6.1.147",
"v6.1.146",
"v6.1.145",
"v6.1.144",
"v6.1.143",
"v6.1.142",
"v6.1.141",
"v6.1.140",
"v6.1.139",
"v6.1.138",
"v6.1.137",
"v6.1.136",
"v6.1.135",
"v6.1.134",
"v6.1.133",
"v6.1.132",
"v6.1.131",
"v6.1.130",
"v6.1.129",
"v6.1.128",
"v6.1.127",
"v6.1.126",
"v6.1.125",
"v6.1.124",
"v6.1.123",
"v6.1.122",
"v6.1.121",
"v6.1.120",
"v6.1.119",
"v6.1.118",
"v6.1.117",
"v6.1.116",
"v6.1.115",
"v6.1.114",
"v6.1.113",
"v6.1.112",
"v6.1.111",
"v6.1.110",
"v6.1.109",
"v6.1.108",
"v6.1.107",
"v6.1.106",
"v6.1.105",
"v6.1.104",
"v6.1.103",
"v6.1.102",
"v6.1.101",
"v6.1.100",
"v6.1.99",
"v6.1.98",
"v6.1.97",
"v6.1.96",
"v6.1.95",
"v6.1.94",
"v6.1.93",
"v6.1.92",
"v6.1.91",
"v6.1.90",
"v6.1.89",
"v6.1.88",
"v6.1.87",
"v6.1.86",
"v6.1.85",
"v6.1.84",
"v6.1.83"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-40294.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "6.1.159"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.117"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.6.0"
},
{
"fixed": "6.12.58"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.17.8"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-40294.json"
}
}
],
"modified": "2026-10-28T02:30:28.960822273Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/3a50d59b3781bc3a4e96533612509546a4c309a7",
"https://git.kernel.org/stable/c/4b7d4aa5399b5a64caee639275615c63c008540d",
"https://git.kernel.org/stable/c/5f7350ff2b179764a4f40ba4161b60b8aaef857b",
"https://git.kernel.org/stable/c/8d59fba49362c65332395789fd82771f1028d87e",
"https://git.kernel.org/stable/c/96616530f524a0a76248cd44201de0a9e8526190",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/40xxx/CVE-2025-40294.json",
"https://nvd.nist.gov/vuln/detail/CVE-2025-40294",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/40xxx/CVE-2025-40294.json"
}
},
"related_cves": [
{
"value": "CVE-2025-40294",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 495506,
"published_at": "2025-12-08T00:46:17.899+00:00"
}