{"id":"CVE-2026-99029","kind":"vulnerability","aliases":["CVE-2026-99029"],"related":[],"title":"Linux kernel: sparx5 matchall filter deletion leaks memory on each 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.","summary":"The Linux kernel's Microchip Sparx5 switch driver does not free the entry it allocates for each offloaded matchall traffic filter when that filter is deleted. Repeatedly adding and deleting such filters leaks kernel memory.","severity":"low","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["infrastructure","lan969x","linux-kernel","network-driver","sparx5"],"not_affected_if":["no-sparx5-hardware"],"how_to_check":"- unknown","fix":"- Update the Linux kernel to a release that includes the commit \"net: sparx5: free the matchall entry on destroy\" (exact version unknown from sources)","status":"open","published_at":"2026-10-23T13:17:25+00:00","first_seen_at":"2026-10-23T21:57:33+00:00","triaged_at":"2026-10-25T04:54:25+00:00","updated_at":"2026-10-25T04:54:25+00:00","category":"infrastructure","confidence":0.6,"triage":{"at":"2026-10-25T04:54:25Z","model":"claude-haiku-5-5","output":{"fix":"- Update the Linux kernel to a release that includes the commit \"net: sparx5: free the matchall entry on destroy\" (exact version unknown from sources)","reach":"local","title":"Linux kernel: sparx5 matchall filter deletion leaks memory on each destroy","impact":"low","summary":"The Linux kernel's Microchip Sparx5 switch driver does not free the entry it allocates for each offloaded matchall traffic filter when that filter is deleted. Repeatedly adding and deleting such filters leaks kernel memory.","category":"infrastructure","nicknames":[],"who_cares":["linux-kernel","network-driver","sparx5","lan969x"],"confidence":0.6,"needs_auth":"unknown","worst_case":"Kernel memory leaks, eventually causing resource exhaustion on the device","analyst_note":"Check the upstream kernel commit and CVE record for affected and fixed kernel versions, and whether an attacker without privileges can trigger the tc filter path.","how_to_check":"- unknown","needs_analyst":true,"not_affected_if":["no-sparx5-hardware"],"who_is_affected":"Systems running the Linux kernel with the Microchip Sparx5 / lan969x network driver loaded and using tc matchall mirror or goto offload. Machines without that hardware are unlikely to be affected. The sources do not describe the exact trigger rate needed to exhaust memory.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"low"},"cost_usd":0.000611,"input_tokens":3477,"output_tokens":527,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A '-99029':14A,17A 'add':54B,96C,157C 'agent':144C 'ai':141C 'alloc':41B,84C 'board':153C 'code':142C 'cve':12A,15A 'delet':6A,52B,56B,121C,159C 'destroy':11A,79C,105C 'discov':138C 'driver':25B,34B 'entri':39B,77C,89C,101C,108C,118C,131C 'ev':152C 'ev23x71a':154C 'everi':91C,120C 'filter':5A,47B,50B,58B,94C,126C,164C 'fix':167C 'follow':67C 'free':37B,74C,114C,129C 'goto':124C,163C 'infrastructur':18B 'kernel':2A,22B,29B,60B,65C 'kmemleak':148C,168C 'lan969x':19B,151C 'leak':7A,59B,128C,136C,173C 'linux':1A,21B,28B,64C 'linux-kernel':20B 'list':111C 'longer':170C 'mall':88C,100C 'matchal':4A,45B,76C,82C,93C,104C,125C,160C 'memori':8A,61B 'microchip':31B 'mirror':122C,161C 'net':72C 'network':24B 'network-driv':23B 'never':113C 'offload':44B,92C 'remov':106C 'repeat':53B,156C 'replac':83C 'report':171C 'reproduc':146C 'resolv':71C 'review':143C 'sparx5':3A,26B,32B,73C,80C,87C,99C,102C 'struct':86C 'switch':33B 'tc':81C,103C 'traffic':46B 'unlink':133C 'vulner':68C","nicknames":[],"mitigations":[],"who_affected":"Systems running the Linux kernel with the Microchip Sparx5 / lan969x network driver loaded and using tc matchall mirror or goto offload. Machines without that hardware are unlikely to be affected. The sources do not describe the exact trigger rate needed to exhaust memory.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-23T13:17:25+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-99029","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-99029","severity":null,"published_at":"2026-10-23T13:17:25+00:00","modified_at":"2026-10-23T13:17:25+00:00","first_seen_at":"2026-10-23T21:57:33+00:00","fetched_at":"2026-10-23T22:29:03+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}