CVE-2025-40213
Full vulnerability record from the local CVENow database.
Description
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: MGMT: fix crash in set_mesh_sync and set_mesh_complete There is a BUG: KASAN: stack-out-of-bounds in set_mesh_sync due to memcpy from badly declared on-stack flexible array. Another crash is in set_mesh_complete() due to double list_del via mgmt_pending_valid + mgmt_pending_remove. Use DEFINE_FLEX to declare the flexible array right, and don't memcpy outside bounds. As mgmt_pending_valid removes the cmd from list, use mgmt_pending_free, and also report status on error.
Severity
HIGH
CVSS score
7.8
(v3.1)
Vulnerability status
Deferred
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2025-11-24 16:15:49.150000
Last modified
2026-10-21 13:18:19.787000
View original CVE JSON
{
"id": "CVE-2025-40213",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2025-11-24T16:15:49.150",
"lastModified": "2026-10-21T13:18:19.787",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: MGMT: fix crash in set_mesh_sync and set_mesh_complete\n\nThere is a BUG: KASAN: stack-out-of-bounds in set_mesh_sync due to\nmemcpy from badly declared on-stack flexible array.\n\nAnother crash is in set_mesh_complete() due to double list_del via\nmgmt_pending_valid + mgmt_pending_remove.\n\nUse DEFINE_FLEX to declare the flexible array right, and don't memcpy\noutside bounds.\n\nAs mgmt_pending_valid removes the cmd from list, use mgmt_pending_free,\nand also report status on error."
},
{
"lang": "es",
"value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\nBluetooth: MGMT: soluciona un fallo en set_mesh_sync y set_mesh_complete\n\nExiste un BUG: KASAN: stack-out-of-bounds en set_mesh_sync debido a memcpy desde un array flexible en la pila mal declarado.\n\nOtro fallo ocurre en set_mesh_complete() debido a un doble list_del a través de mgmt_pending_valid + mgmt_pending_remove.\n\nUsa DEFINE_FLEX para declarar correctamente el array flexible, y no hagas memcpy fuera de los límites.\n\nComo mgmt_pending_valid elimina el cmd de la lista, usa mgmt_pending_free, y también informa el estado en caso de error."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"include/net/bluetooth/mgmt.h",
"net/bluetooth/mgmt.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "0b60eb04b8524e1b4b3f07fea0d16fda9a677d9a",
"lessThan": "31d6c9216aa1be18ba317239738f73b0b0c7b691",
"versionType": "git",
"status": "affected"
},
{
"version": "d71b98f253b079cbadc83266383f26fe7e9e103b",
"lessThan": "5c19daa93d9af29f1f46251b47e1ea66bcc8d679",
"versionType": "git",
"status": "affected"
},
{
"version": "302a1f674c00dd5581ab8e493ef44767c5101aab",
"lessThan": "1c9aca1787e8395a2c59fef20e914467958969c5",
"versionType": "git",
"status": "affected"
},
{
"version": "302a1f674c00dd5581ab8e493ef44767c5101aab",
"lessThan": "e8785404de06a69d89dcdd1e9a0b6ea42dc6d327",
"versionType": "git",
"status": "affected"
},
{
"version": "87a1f16f07c6c43771754075e08f45b41d237421",
"versionType": "git",
"status": "affected"
},
{
"version": "6.6.140",
"lessThan": "6.6.160",
"versionType": "semver",
"status": "affected"
},
{
"version": "6.16.10",
"lessThan": "6.17",
"versionType": "semver",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"include/net/bluetooth/mgmt.h",
"net/bluetooth/mgmt.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "6.17",
"status": "affected"
},
{
"version": "0",
"lessThan": "6.17",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.6.160",
"lessThanOrEqual": "6.6.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.17.8",
"lessThanOrEqual": "6.17.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"baseScore": 7.8,
"baseSeverity": "HIGH",
"attackVector": "LOCAL",
"attackComplexity": "LOW",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 1.8,
"impactScore": 5.9
}
]
},
"references": [
{
"url": "https://git.kernel.org/stable/c/1c9aca1787e8395a2c59fef20e914467958969c5",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/31d6c9216aa1be18ba317239738f73b0b0c7b691",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/5c19daa93d9af29f1f46251b47e1ea66bcc8d679",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/e8785404de06a69d89dcdd1e9a0b6ea42dc6d327",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}