batman-adv: frag: disallow unicast fragment in fragment
In the Linux kernel, the following vulnerability has been resolved: batman-adv: frag: disallow unicast fragment in fragment batadv_frag_skb_buffer() is called by batadv_batman_skb_recv() when a BATADV_UNICAST_FRAG packet is received. Once all fragments are collected and the packet is reassembled, batadv_recv_frag_packet() calls batadv_batman_skb_recv() again to process the defragmented payload. A malicious sender can craft a BATADV_UNICAST_FRAG packet whose reassembled payload is itself a BATADV_UNICAST_FRAG packet (matryoshka-style nesting). Each nesting level recurses through batadv_batman_skb_recv() without bound, growing the kernel stack until it is exhausted. Since refragmentation or fragments in fragments are not actually allowed, discard all packets which are still BATADV_UNICAST_FRAG packets after the defragmentation process.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 5.10.258, 5.15.209, 6.1.175, 6.12.92, 6.18.34, 6.6.142, 7.0.11
- CVEs
- CVE-2026-52916
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 13:42 UTC · Revision 1
Source evidence
batman-adv: frag: disallow unicast fragment in fragment
core-osv · Original sourcePublished 24 Jun 2026, 07:14 UTC
In the Linux kernel, the following vulnerability has been resolved: batman-adv: frag: disallow unicast fragment in fragment batadv_frag_skb_buffer() is called by batadv_batman_skb_recv() when a BATADV_UNICAST_FRAG packet is received. Once all fragments are collected and the packet is reassembled, batadv_recv_frag_packet() calls batadv_batman_skb_recv() again to process the defragmented payload. A malicious sender can craft a BATADV_UNICAST_FRAG packet whose reassembled payload is itself a BATADV_UNICAST_FRAG packet (matryoshka-style nesting). Each nesting level recurses through batadv_batman_skb_recv() without bound, growing the kernel stack until it is exhausted. Since refragmentation or fragments in fragments are not actually allowed, discard all packets which are still BATADV_UNICAST_FRAG packets after the defragmentation process.
osv:CVE-2026-52916
Kernel
Fixed versions: 5.10.258, 5.15.209, 6.1.175, 6.6.142, 6.12.92, 6.18.34, 7.0.11
Complete source record
{
"id": "0fc37f2dec2a1fb128ef3110dd2232ba3e0954de42e6341de754f7fa3d0df940",
"url": "https://osv.dev/vulnerability/CVE-2026-52916",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "batman-adv: frag: disallow unicast fragment in fragment",
"summary": "In the Linux kernel, the following vulnerability has been resolved: batman-adv: frag: disallow unicast fragment in fragment batadv_frag_skb_buffer() is called by batadv_batman_skb_recv() when a BATADV_UNICAST_FRAG packet is received. Once all fragments are collected and the packet is reassembled, batadv_recv_frag_packet() calls batadv_batman_skb_recv() again to process the defragmented payload. A malicious sender can craft a BATADV_UNICAST_FRAG packet whose reassembled payload is itself a BATADV_UNICAST_FRAG packet (matryoshka-style nesting). Each nesting level recurses through batadv_batman_skb_recv() without bound, growing the kernel stack until it is exhausted. Since refragmentation or fragments in fragments are not actually allowed, discard all packets which are still BATADV_UNICAST_FRAG packets after the defragmentation process.",
"evidence": "osv:CVE-2026-52916",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "5.10.258",
"evidence": "/affected/1/ranges"
},
{
"value": "5.15.209",
"evidence": "/affected/1/ranges"
},
{
"value": "6.1.175",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.142",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.92",
"evidence": "/affected/1/ranges"
},
{
"value": "6.18.34",
"evidence": "/affected/1/ranges"
},
{
"value": "7.0.11",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2026-52916",
"aliases": [
"CVE-2026-52916"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "610bfc6bc99bc83680d190ebc69359a05fc7f605"
},
{
"fixed": "0c208fa3859e3a33a1c38bebc41d021166e94ac8"
},
{
"fixed": "bcda4814dc6524283c0b958882cb963d75fe411d"
},
{
"fixed": "aea54d0bbe156d5ab7d00d68f66149ff41f4612a"
},
{
"fixed": "b54e459cf86943583c1aa2ee3081874e7ab1f5f3"
},
{
"fixed": "5418be6c2e117bf8a316582795a8e3ff90f45e5d"
},
{
"fixed": "5895ad21c7059a652da83fb817510f7a1e962abf"
},
{
"fixed": "7138c35c9ad39a2fca6264af6b87466471f04ffc"
},
{
"fixed": "bc62216dc8e221e3781afa14430f45208bfa9af9"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-52916.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "3.13.0"
},
{
"fixed": "5.10.258"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.11.0"
},
{
"fixed": "5.15.209"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "6.1.175"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.142"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.92"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.18.34"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.19.0"
},
{
"fixed": "7.0.11"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-52916.json"
}
}
],
"modified": "2026-10-28T02:30:29.370492399Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/0c208fa3859e3a33a1c38bebc41d021166e94ac8",
"https://git.kernel.org/stable/c/5418be6c2e117bf8a316582795a8e3ff90f45e5d",
"https://git.kernel.org/stable/c/5895ad21c7059a652da83fb817510f7a1e962abf",
"https://git.kernel.org/stable/c/7138c35c9ad39a2fca6264af6b87466471f04ffc",
"https://git.kernel.org/stable/c/aea54d0bbe156d5ab7d00d68f66149ff41f4612a",
"https://git.kernel.org/stable/c/b54e459cf86943583c1aa2ee3081874e7ab1f5f3",
"https://git.kernel.org/stable/c/bc62216dc8e221e3781afa14430f45208bfa9af9",
"https://git.kernel.org/stable/c/bcda4814dc6524283c0b958882cb963d75fe411d",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/52xxx/CVE-2026-52916.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-52916",
"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/2026/52xxx/CVE-2026-52916.json"
}
},
"related_cves": [
{
"value": "CVE-2026-52916",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 496023,
"published_at": "2026-06-24T07:14:13.221+00:00"
}