{"api_version":"1","generated_at":"2026-07-23T11:25:36+00:00","cve":"CVE-2026-64091","urls":{"html":"https://cve.report/CVE-2026-64091","api":"https://cve.report/api/cve/CVE-2026-64091.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-64091","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-64091"},"summary":{"title":"batman-adv: tt: fix TOCTOU race for reported vlans","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nbatman-adv: tt: fix TOCTOU race for reported vlans\n\nThe local TT based TVLV is generated by first checking the number of VLANs\nwhich have at least one TT entry. A new buffer with the correct size for\nthe VLANs is then allocated. Only then, the list of VLANs s used to fill\nthe VLAN entries in the buffer. During this time, the meshif_vlan_list_lock\nis held. But the actual number of TT entries of each VLAN can still\nincrease during this time - just not the number of VLANs in the list.\n\nBut the prefilter used in the buffer size calculation might still cause an\nincrease of the number of VLANs which need to be stored. Simply because a\nVLAN might now suddenly have at least one entry when it had none in the\npre-alloc check - and then needs to occupy space which was not allocated.\n\nIt is better to overestimate the buffer size at the beginning and then fill\nthe buffer only with the VLANs which are not empty.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-07-19 16:17:49","updated_at":"2026-07-20 15:17:08"},"problem_types":[],"metrics":[{"version":"3.1","source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","score":"9.8","severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":9.8,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"9.8","severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","data":{"baseScore":9.8,"baseSeverity":"CRITICAL","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}}],"references":[{"url":"https://git.kernel.org/stable/c/9a9c859457bc440a55773e01ff18b1bb5bab6836","name":"https://git.kernel.org/stable/c/9a9c859457bc440a55773e01ff18b1bb5bab6836","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/b4d4efd4e351593c81e9293d4b4408d244fa5ee7","name":"https://git.kernel.org/stable/c/b4d4efd4e351593c81e9293d4b4408d244fa5ee7","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/e4236bf3ec8d6bb15d0d8d825dcf9933a7d6666b","name":"https://git.kernel.org/stable/c/e4236bf3ec8d6bb15d0d8d825dcf9933a7d6666b","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/724a8eb4155669797c96b70d70e354284ae3b5a8","name":"https://git.kernel.org/stable/c/724a8eb4155669797c96b70d70e354284ae3b5a8","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/94d27005016be15ffc638b2ecbc4d58805ad7b48","name":"https://git.kernel.org/stable/c/94d27005016be15ffc638b2ecbc4d58805ad7b48","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/65a1e67339aa8c95ac544b796946af388930ee23","name":"https://git.kernel.org/stable/c/65a1e67339aa8c95ac544b796946af388930ee23","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/211ea59988e1cba43cb0367ad65d379b56f9c3bd","name":"https://git.kernel.org/stable/c/211ea59988e1cba43cb0367ad65d379b56f9c3bd","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/4cc85aec8d3c9ab4dc716dc9f1ed36fca16b227f","name":"https://git.kernel.org/stable/c/4cc85aec8d3c9ab4dc716dc9f1ed36fca16b227f","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-64091","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-64091","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 16116dac23396e73c01eeee97b102e4833a4b205 e4236bf3ec8d6bb15d0d8d825dcf9933a7d6666b git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 16116dac23396e73c01eeee97b102e4833a4b205 724a8eb4155669797c96b70d70e354284ae3b5a8 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 16116dac23396e73c01eeee97b102e4833a4b205 211ea59988e1cba43cb0367ad65d379b56f9c3bd git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 16116dac23396e73c01eeee97b102e4833a4b205 65a1e67339aa8c95ac544b796946af388930ee23 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 16116dac23396e73c01eeee97b102e4833a4b205 b4d4efd4e351593c81e9293d4b4408d244fa5ee7 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 16116dac23396e73c01eeee97b102e4833a4b205 4cc85aec8d3c9ab4dc716dc9f1ed36fca16b227f git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 16116dac23396e73c01eeee97b102e4833a4b205 9a9c859457bc440a55773e01ff18b1bb5bab6836 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 16116dac23396e73c01eeee97b102e4833a4b205 94d27005016be15ffc638b2ecbc4d58805ad7b48 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 3134c5a32810c510f1f447c135cec346acbb71c3 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected e861e03a1b5b615ad1b57b1802b17e260eedccfe git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 0b81edc8818903c64c4d121bc51cd5825be8cc67 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 90ae6475b1753f0c1a4c66034b5666de3189fac8 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 3.16.60 3.17 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4.4.217 4.5 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4.9.217 4.10 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4.14.174 4.15 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4.17","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 4.17 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.10.259 5.10.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.15.210 5.15.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.176 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.143 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.93 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.34 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.0.11 7.0.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"64091","cve":"CVE-2026-64091","epss":"0.001840000","percentile":"0.082530000","score_date":"2026-07-20","updated_at":"2026-07-21 00:13:13"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["net/batman-adv/translation-table.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"e4236bf3ec8d6bb15d0d8d825dcf9933a7d6666b","status":"affected","version":"16116dac23396e73c01eeee97b102e4833a4b205","versionType":"git"},{"lessThan":"724a8eb4155669797c96b70d70e354284ae3b5a8","status":"affected","version":"16116dac23396e73c01eeee97b102e4833a4b205","versionType":"git"},{"lessThan":"211ea59988e1cba43cb0367ad65d379b56f9c3bd","status":"affected","version":"16116dac23396e73c01eeee97b102e4833a4b205","versionType":"git"},{"lessThan":"65a1e67339aa8c95ac544b796946af388930ee23","status":"affected","version":"16116dac23396e73c01eeee97b102e4833a4b205","versionType":"git"},{"lessThan":"b4d4efd4e351593c81e9293d4b4408d244fa5ee7","status":"affected","version":"16116dac23396e73c01eeee97b102e4833a4b205","versionType":"git"},{"lessThan":"4cc85aec8d3c9ab4dc716dc9f1ed36fca16b227f","status":"affected","version":"16116dac23396e73c01eeee97b102e4833a4b205","versionType":"git"},{"lessThan":"9a9c859457bc440a55773e01ff18b1bb5bab6836","status":"affected","version":"16116dac23396e73c01eeee97b102e4833a4b205","versionType":"git"},{"lessThan":"94d27005016be15ffc638b2ecbc4d58805ad7b48","status":"affected","version":"16116dac23396e73c01eeee97b102e4833a4b205","versionType":"git"},{"status":"affected","version":"3134c5a32810c510f1f447c135cec346acbb71c3","versionType":"git"},{"status":"affected","version":"e861e03a1b5b615ad1b57b1802b17e260eedccfe","versionType":"git"},{"status":"affected","version":"0b81edc8818903c64c4d121bc51cd5825be8cc67","versionType":"git"},{"status":"affected","version":"90ae6475b1753f0c1a4c66034b5666de3189fac8","versionType":"git"},{"lessThan":"3.17","status":"affected","version":"3.16.60","versionType":"semver"},{"lessThan":"4.5","status":"affected","version":"4.4.217","versionType":"semver"},{"lessThan":"4.10","status":"affected","version":"4.9.217","versionType":"semver"},{"lessThan":"4.15","status":"affected","version":"4.14.174","versionType":"semver"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["net/batman-adv/translation-table.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"4.17"},{"lessThan":"4.17","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"5.10.*","status":"unaffected","version":"5.10.259","versionType":"semver"},{"lessThanOrEqual":"5.15.*","status":"unaffected","version":"5.15.210","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.176","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.143","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.93","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.34","versionType":"semver"},{"lessThanOrEqual":"7.0.*","status":"unaffected","version":"7.0.11","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.1","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.10.259","versionStartIncluding":"4.17","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.15.210","versionStartIncluding":"4.17","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.176","versionStartIncluding":"4.17","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.143","versionStartIncluding":"4.17","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.93","versionStartIncluding":"4.17","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.34","versionStartIncluding":"4.17","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.0.11","versionStartIncluding":"4.17","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1","versionStartIncluding":"4.17","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.16.60","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.4.217","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.9.217","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.14.174","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nbatman-adv: tt: fix TOCTOU race for reported vlans\n\nThe local TT based TVLV is generated by first checking the number of VLANs\nwhich have at least one TT entry. A new buffer with the correct size for\nthe VLANs is then allocated. Only then, the list of VLANs s used to fill\nthe VLAN entries in the buffer. During this time, the meshif_vlan_list_lock\nis held. But the actual number of TT entries of each VLAN can still\nincrease during this time - just not the number of VLANs in the list.\n\nBut the prefilter used in the buffer size calculation might still cause an\nincrease of the number of VLANs which need to be stored. Simply because a\nVLAN might now suddenly have at least one entry when it had none in the\npre-alloc check - and then needs to occupy space which was not allocated.\n\nIt is better to overestimate the buffer size at the beginning and then fill\nthe buffer only with the VLANs which are not empty."}],"metrics":[{"cvssV3_1":{"baseScore":9.8,"baseSeverity":"CRITICAL","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}}],"providerMetadata":{"dateUpdated":"2026-07-20T13:43:13.369Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/e4236bf3ec8d6bb15d0d8d825dcf9933a7d6666b"},{"url":"https://git.kernel.org/stable/c/724a8eb4155669797c96b70d70e354284ae3b5a8"},{"url":"https://git.kernel.org/stable/c/211ea59988e1cba43cb0367ad65d379b56f9c3bd"},{"url":"https://git.kernel.org/stable/c/65a1e67339aa8c95ac544b796946af388930ee23"},{"url":"https://git.kernel.org/stable/c/b4d4efd4e351593c81e9293d4b4408d244fa5ee7"},{"url":"https://git.kernel.org/stable/c/4cc85aec8d3c9ab4dc716dc9f1ed36fca16b227f"},{"url":"https://git.kernel.org/stable/c/9a9c859457bc440a55773e01ff18b1bb5bab6836"},{"url":"https://git.kernel.org/stable/c/94d27005016be15ffc638b2ecbc4d58805ad7b48"}],"title":"batman-adv: tt: fix TOCTOU race for reported vlans","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-64091","datePublished":"2026-07-19T15:40:00.030Z","dateReserved":"2026-07-19T07:54:57.032Z","dateUpdated":"2026-07-20T13:43:13.369Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-07-19 16:17:49","lastModifiedDate":"2026-07-20 15:17:08","problem_types":[],"metrics":{"cvssMetricV31":[{"source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":9.8,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":3.9,"impactScore":5.9}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"64091","Ordinal":"1","Title":"batman-adv: tt: fix TOCTOU race for reported vlans","CVE":"CVE-2026-64091","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"64091","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nbatman-adv: tt: fix TOCTOU race for reported vlans\n\nThe local TT based TVLV is generated by first checking the number of VLANs\nwhich have at least one TT entry. A new buffer with the correct size for\nthe VLANs is then allocated. Only then, the list of VLANs s used to fill\nthe VLAN entries in the buffer. During this time, the meshif_vlan_list_lock\nis held. But the actual number of TT entries of each VLAN can still\nincrease during this time - just not the number of VLANs in the list.\n\nBut the prefilter used in the buffer size calculation might still cause an\nincrease of the number of VLANs which need to be stored. Simply because a\nVLAN might now suddenly have at least one entry when it had none in the\npre-alloc check - and then needs to occupy space which was not allocated.\n\nIt is better to overestimate the buffer size at the beginning and then fill\nthe buffer only with the VLANs which are not empty.","Type":"Description","Title":"batman-adv: tt: fix TOCTOU race for reported vlans"}]}}}