{"api_version":"1","generated_at":"2026-10-27T11:02:19+00:00","cve":"CVE-2026-99029","urls":{"html":"https://cve.report/CVE-2026-99029","api":"https://cve.report/api/cve/CVE-2026-99029.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-99029","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-99029"},"summary":{"title":"net: sparx5: free the matchall entry on destroy","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: sparx5: free the matchall entry on destroy\n\nsparx5_tc_matchall_replace() allocates a struct sparx5_mall_entry for\nevery offloaded matchall filter and adds it to sparx5->mall_entries.\nsparx5_tc_matchall_destroy() removes the entry from the list, but never\nfrees it, so the entry of every deleted mirror and goto matchall filter\nis leaked.\n\nFree the entry after unlinking it.\n\nThe leak was discovered by an AI code review agent, and reproduced with\nkmemleak on a lan969x EV board (EV23X71A) by repeatedly adding and\ndeleting matchall mirror and goto filters. With the fix, kmemleak no\nlonger reports the leak.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-10-23 13:17:25","updated_at":"2026-10-23 13:17:25"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/fa0c27d9e17ee2e46d4b8274a6fde706f0d6725e","name":"https://git.kernel.org/stable/c/fa0c27d9e17ee2e46d4b8274a6fde706f0d6725e","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/2b82e16d6084cbc651e3c902198f1945408ee1a5","name":"https://git.kernel.org/stable/c/2b82e16d6084cbc651e3c902198f1945408ee1a5","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/cc7cc5955d22ea90555f09a680d4bf56d4a0c24a","name":"https://git.kernel.org/stable/c/cc7cc5955d22ea90555f09a680d4bf56d4a0c24a","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/44efb6d92dd5a2b1dd9553d92ef0eebde135fc6e","name":"https://git.kernel.org/stable/c/44efb6d92dd5a2b1dd9553d92ef0eebde135fc6e","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-99029","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-99029","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 1ede4acf045ced70d9b72465e2e968aec71e0a42 fa0c27d9e17ee2e46d4b8274a6fde706f0d6725e git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 1ede4acf045ced70d9b72465e2e968aec71e0a42 cc7cc5955d22ea90555f09a680d4bf56d4a0c24a git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 1ede4acf045ced70d9b72465e2e968aec71e0a42 44efb6d92dd5a2b1dd9553d92ef0eebde135fc6e git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 1ede4acf045ced70d9b72465e2e968aec71e0a42 2b82e16d6084cbc651e3c902198f1945408ee1a5 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.10","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.10 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.113 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.57 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2.11 7.2.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.3 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/net/ethernet/microchip/sparx5/sparx5_tc_matchall.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"fa0c27d9e17ee2e46d4b8274a6fde706f0d6725e","status":"affected","version":"1ede4acf045ced70d9b72465e2e968aec71e0a42","versionType":"git"},{"lessThan":"cc7cc5955d22ea90555f09a680d4bf56d4a0c24a","status":"affected","version":"1ede4acf045ced70d9b72465e2e968aec71e0a42","versionType":"git"},{"lessThan":"44efb6d92dd5a2b1dd9553d92ef0eebde135fc6e","status":"affected","version":"1ede4acf045ced70d9b72465e2e968aec71e0a42","versionType":"git"},{"lessThan":"2b82e16d6084cbc651e3c902198f1945408ee1a5","status":"affected","version":"1ede4acf045ced70d9b72465e2e968aec71e0a42","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/net/ethernet/microchip/sparx5/sparx5_tc_matchall.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"6.10"},{"lessThan":"6.10","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.113","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.57","versionType":"semver"},{"lessThanOrEqual":"7.2.*","status":"unaffected","version":"7.2.11","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.3","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.113","versionStartIncluding":"6.10","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.57","versionStartIncluding":"6.10","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2.11","versionStartIncluding":"6.10","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.3","versionStartIncluding":"6.10","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: sparx5: free the matchall entry on destroy\n\nsparx5_tc_matchall_replace() allocates a struct sparx5_mall_entry for\nevery offloaded matchall filter and adds it to sparx5->mall_entries.\nsparx5_tc_matchall_destroy() removes the entry from the list, but never\nfrees it, so the entry of every deleted mirror and goto matchall filter\nis leaked.\n\nFree the entry after unlinking it.\n\nThe leak was discovered by an AI code review agent, and reproduced with\nkmemleak on a lan969x EV board (EV23X71A) by repeatedly adding and\ndeleting matchall mirror and goto filters. With the fix, kmemleak no\nlonger reports the leak."}],"providerMetadata":{"dateUpdated":"2026-10-23T12:21:21.898Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/fa0c27d9e17ee2e46d4b8274a6fde706f0d6725e"},{"url":"https://git.kernel.org/stable/c/cc7cc5955d22ea90555f09a680d4bf56d4a0c24a"},{"url":"https://git.kernel.org/stable/c/44efb6d92dd5a2b1dd9553d92ef0eebde135fc6e"},{"url":"https://git.kernel.org/stable/c/2b82e16d6084cbc651e3c902198f1945408ee1a5"}],"title":"net: sparx5: free the matchall entry on destroy","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-99029","datePublished":"2026-10-23T12:21:21.898Z","dateReserved":"2026-09-25T10:25:14.386Z","dateUpdated":"2026-10-23T12:21:21.898Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-23 13:17:25","lastModifiedDate":"2026-10-23 13:17:25","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"99029","Ordinal":"1","Title":"net: sparx5: free the matchall entry on destroy","CVE":"CVE-2026-99029","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"99029","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: sparx5: free the matchall entry on destroy\n\nsparx5_tc_matchall_replace() allocates a struct sparx5_mall_entry for\nevery offloaded matchall filter and adds it to sparx5->mall_entries.\nsparx5_tc_matchall_destroy() removes the entry from the list, but never\nfrees it, so the entry of every deleted mirror and goto matchall filter\nis leaked.\n\nFree the entry after unlinking it.\n\nThe leak was discovered by an AI code review agent, and reproduced with\nkmemleak on a lan969x EV board (EV23X71A) by repeatedly adding and\ndeleting matchall mirror and goto filters. With the fix, kmemleak no\nlonger reports the leak.","Type":"Description","Title":"net: sparx5: free the matchall entry on destroy"}]}}}