batman-adv: frag: disallow unicast fragment in fragment
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
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.
Timeline
- CVE published
Affected versions
- Linux Linux
Version range not reported
- Linux Linux
3.13
References 8
git.kernel.org
- stable/c/0c208fa3859e3a33a1c38bebc41d021166e94ac8
- stable/c/bcda4814dc6524283c0b958882cb963d75fe411d
- stable/c/aea54d0bbe156d5ab7d00d68f66149ff41f4612a
- stable/c/b54e459cf86943583c1aa2ee3081874e7ab1f5f3
- stable/c/5418be6c2e117bf8a316582795a8e3ff90f45e5d
- stable/c/5895ad21c7059a652da83fb817510f7a1e962abf
- stable/c/7138c35c9ad39a2fca6264af6b87466471f04ffc
- stable/c/bc62216dc8e221e3781afa14430f45208bfa9af9