{"id":"CVE-2026-72231","state":"PUBLISHED","title":"batman-adv: tt: avoid request storms during pending request","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nbatman-adv: tt: avoid request storms during pending request\n\nbatadv_send_tt_request() allocates a tt_req_node when none exists for the\ndestination originator node. This should prevent that a multiple TT\nrequests are send at the same time to an originator.\n\nBut if allocation of the send buffer failed, this request must be cleaned\nup again. But indicator for such a failure is \"ret == false\". But the\nactual implementation is checking for \"ret == true\".\n\nThe check must be inverted to not loose the information about the TT\nrequest directly after it was attempted to be sent out. This should avoid\npotential request storms.","publishedAt":"2026-08-15T05:54:22.076Z","updatedAt":"2026-10-16T18:45:03.082Z","severity":{"score":7.5,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"335fbe0f5d2501b7dd815806aef6fd9bad784eb1","status":"affected","lessThan":"6055695ea40c64a47e00742c12c99b1a33b4daed","versionType":"git"},{"version":"335fbe0f5d2501b7dd815806aef6fd9bad784eb1","status":"affected","lessThan":"21c44a6895f41df811d1c91d10eea194dda2b345","versionType":"git"},{"version":"335fbe0f5d2501b7dd815806aef6fd9bad784eb1","status":"affected","lessThan":"5e46c76d9a5062212c4c5f642a5549fd9c057f8a","versionType":"git"},{"version":"335fbe0f5d2501b7dd815806aef6fd9bad784eb1","status":"affected","lessThan":"067e413eec2e63c2996909ef55214b3a0eda0be7","versionType":"git"},{"version":"335fbe0f5d2501b7dd815806aef6fd9bad784eb1","status":"affected","lessThan":"716f434eb35869e130424331584a91fbb729b9bd","versionType":"git"},{"version":"335fbe0f5d2501b7dd815806aef6fd9bad784eb1","status":"affected","lessThan":"6a65ac8a81e903bb4b555c1d13532f5cb0167a4a","versionType":"git"},{"version":"335fbe0f5d2501b7dd815806aef6fd9bad784eb1","status":"affected","lessThan":"aba1cf21954e64c36afb966b754adad2b0b8aa48","versionType":"git"},{"version":"335fbe0f5d2501b7dd815806aef6fd9bad784eb1","status":"affected","lessThan":"27c7d40008231ae4140d35501b60087a9de2d2c3","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/batman-adv/translation-table.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.13","versionType":"semver"},{"version":"5.10.261","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.212","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.178","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.145","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.97","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.40","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.5","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/batman-adv/translation-table.c"]}],"references":["https://git.kernel.org/stable/c/6055695ea40c64a47e00742c12c99b1a33b4daed","https://git.kernel.org/stable/c/21c44a6895f41df811d1c91d10eea194dda2b345","https://git.kernel.org/stable/c/5e46c76d9a5062212c4c5f642a5549fd9c057f8a","https://git.kernel.org/stable/c/067e413eec2e63c2996909ef55214b3a0eda0be7","https://git.kernel.org/stable/c/716f434eb35869e130424331584a91fbb729b9bd","https://git.kernel.org/stable/c/6a65ac8a81e903bb4b555c1d13532f5cb0167a4a","https://git.kernel.org/stable/c/aba1cf21954e64c36afb966b754adad2b0b8aa48","https://git.kernel.org/stable/c/27c7d40008231ae4140d35501b60087a9de2d2c3"],"weaknesses":[],"ingestedAt":"2026-10-29T20:12:58.252Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/72xxx/CVE-2026-72231.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-72231","state":"PUBLISHED","datePublished":"2026-08-15T05:54:22.076Z","dateUpdated":"2026-10-16T18:45:03.082Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-08-09T03:40:39.913Z"},"containers":{"cna":{"title":"batman-adv: tt: avoid request storms during pending request","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nbatman-adv: tt: avoid request storms during pending request\n\nbatadv_send_tt_request() allocates a tt_req_node when none exists for the\ndestination originator node. This should prevent that a multiple TT\nrequests are send at the same time to an originator.\n\nBut if allocation of the send buffer failed, this request must be cleaned\nup again. But indicator for such a failure is \"ret == false\". But the\nactual implementation is checking for \"ret == true\".\n\nThe check must be inverted to not loose the information about the TT\nrequest directly after it was attempted to be sent out. This should avoid\npotential request storms."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"335fbe0f5d2501b7dd815806aef6fd9bad784eb1","status":"affected","lessThan":"6055695ea40c64a47e00742c12c99b1a33b4daed","versionType":"git"},{"version":"335fbe0f5d2501b7dd815806aef6fd9bad784eb1","status":"affected","lessThan":"21c44a6895f41df811d1c91d10eea194dda2b345","versionType":"git"},{"version":"335fbe0f5d2501b7dd815806aef6fd9bad784eb1","status":"affected","lessThan":"5e46c76d9a5062212c4c5f642a5549fd9c057f8a","versionType":"git"},{"version":"335fbe0f5d2501b7dd815806aef6fd9bad784eb1","status":"affected","lessThan":"067e413eec2e63c2996909ef55214b3a0eda0be7","versionType":"git"},{"version":"335fbe0f5d2501b7dd815806aef6fd9bad784eb1","status":"affected","lessThan":"716f434eb35869e130424331584a91fbb729b9bd","versionType":"git"},{"version":"335fbe0f5d2501b7dd815806aef6fd9bad784eb1","status":"affected","lessThan":"6a65ac8a81e903bb4b555c1d13532f5cb0167a4a","versionType":"git"},{"version":"335fbe0f5d2501b7dd815806aef6fd9bad784eb1","status":"affected","lessThan":"aba1cf21954e64c36afb966b754adad2b0b8aa48","versionType":"git"},{"version":"335fbe0f5d2501b7dd815806aef6fd9bad784eb1","status":"affected","lessThan":"27c7d40008231ae4140d35501b60087a9de2d2c3","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/batman-adv/translation-table.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.13","versionType":"semver"},{"version":"5.10.261","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.212","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.178","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.145","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.97","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.40","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.5","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/batman-adv/translation-table.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/6055695ea40c64a47e00742c12c99b1a33b4daed"},{"url":"https://git.kernel.org/stable/c/21c44a6895f41df811d1c91d10eea194dda2b345"},{"url":"https://git.kernel.org/stable/c/5e46c76d9a5062212c4c5f642a5549fd9c057f8a"},{"url":"https://git.kernel.org/stable/c/067e413eec2e63c2996909ef55214b3a0eda0be7"},{"url":"https://git.kernel.org/stable/c/716f434eb35869e130424331584a91fbb729b9bd"},{"url":"https://git.kernel.org/stable/c/6a65ac8a81e903bb4b555c1d13532f5cb0167a4a"},{"url":"https://git.kernel.org/stable/c/aba1cf21954e64c36afb966b754adad2b0b8aa48"},{"url":"https://git.kernel.org/stable/c/27c7d40008231ae4140d35501b60087a9de2d2c3"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:N - The bug is reached when remote batman-adv OGM/TVLV packets are received on an active mesh hardif via batadv_batman_skb_recv() → batadv_iv_ogm_recv() → batadv_tvlv_ogm_receive() → batadv_tt_update_orig() → batadv_send_tt_request(), with no local syscall required on the victim.\nAC:L - A mesh attacker can deterministically craft OGMs with mismatched TTVN/CRC to force the request_table path on every received OGM; the inverted ret check removes the pending tt_req_node after each successful send, eliminating deduplication so storms are repeatable without races.\nPR:N - batman-adv OGM/TVLV processing performs no authentication or capability check on senders; any mesh peer that can inject ETH_P_BATMAN frames onto the victim's active hardif triggers the vulnerable path without Linux credentials on the victim host.\nUI:N - No victim user action is required once batman-adv is active; the kernel automatically processes incoming OGMs and issues TT_REQUEST unicasts in response to detected translation-table inconsistency, entirely driven by attacker-supplied mesh traffic.\nS:U - Impact is confined to excessive batman-adv translation-table control traffic and resource exhaustion on the victim mesh node within the kernel networking stack; it does not cross VM, container, IOMMU, or other security authority boundaries.\nC:N - The inverted conditional is a pure logic error in tt_req_node list housekeeping; it causes neither out-of-bounds access, use-after-free, nor uninitialized data transmission, so no information-disclosure or memory-read primitive exists.\nI:N - No attacker-controlled kernel memory writes or data corruption occur; the bug only suppresses pending-request tracking so duplicate TT_REQUEST packets are emitted, flooding mesh bandwidth without modifying stored translation-table contents.\nA:H - Removing the tt_req_node immediately after each successful TT_REQUEST disables the one-request-per-originator guard, letting a remote attacker drive unbounded GFP_ATOMIC allocations and mesh-wide TT_REQUEST storms that can exhaust CPU, memory, and link capacity on community mesh nodes."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-17T05:41:48.586Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"5.10.261"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"5.15.212"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"6.1.178"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"6.6.145"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"6.12.97"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"6.18.40"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"7.1.5"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-72231","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-10-16T18:44:21.954834Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-16T18:45:03.082Z"}}]}}}