[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"repo-stars":3,"vuln-CVE-2025-37786":6},{"stargazers_count":4,"fetched_at":5},7,"2026-06-04T08:53:30.047Z",{"id":7,"descriptions":8,"cisa":9,"weaknesses":10,"exploits":20,"aliases":21,"duplicate_of":9,"upstream":22,"downstream":23,"duplicates":92,"related":93,"reserved_at":9,"published_at":105,"modified_at":106,"state":107,"summary":108,"references_raw":117,"kevs":144,"epss":145,"epss_history":148,"metrics":421,"affected":427},"CVE-2025-37786","In the Linux kernel, the following vulnerability has been resolved:\n\nnet: dsa: free routing table on probe failure\n\nIf complete = true in dsa_tree_setup(), it means that we are the last\nswitch of the tree which is successfully probing, and we should be\nsetting up all switches from our probe path.\n\nAfter \"complete\" becomes true, dsa_tree_setup_cpu_ports() or any\nsubsequent function may fail. If that happens, the entire tree setup is\nin limbo: the first N-1 switches have successfully finished probing\n(doing nothing but having allocated persistent memory in the tree's\ndst->ports, and maybe dst->rtable), and switch N failed to probe, ending\nthe tree setup process before anything is tangible from the user's PoV.\n\nIf switch N fails to probe, its memory (ports) will be freed and removed\nfrom dst->ports. However, the dst->rtable elements pointing to its ports,\nas created by dsa_link_touch(), will remain there, and will lead to\nuse-after-free if dereferenced.\n\nIf dsa_tree_setup_switches() returns -EPROBE_DEFER, which is entirely\npossible because that is where ds->ops->setup() is, we get a kasan\nreport like this:\n\n==================================================================\nBUG: KASAN: slab-use-after-free in mv88e6xxx_setup_upstream_port+0x240/0x568\nRead of size 8 at addr ffff000004f56020 by task kworker/u8:3/42\n\nCall trace:\n __asan_report_load8_noabort+0x20/0x30\n mv88e6xxx_setup_upstream_port+0x240/0x568\n mv88e6xxx_setup+0xebc/0x1eb0\n dsa_register_switch+0x1af4/0x2ae0\n mv88e6xxx_register_switch+0x1b8/0x2a8\n mv88e6xxx_probe+0xc4c/0xf60\n mdio_probe+0x78/0xb8\n really_probe+0x2b8/0x5a8\n __driver_probe_device+0x164/0x298\n driver_probe_device+0x78/0x258\n __device_attach_driver+0x274/0x350\n\nAllocated by task 42:\n __kasan_kmalloc+0x84/0xa0\n __kmalloc_cache_noprof+0x298/0x490\n dsa_switch_touch_ports+0x174/0x3d8\n dsa_register_switch+0x800/0x2ae0\n mv88e6xxx_register_switch+0x1b8/0x2a8\n mv88e6xxx_probe+0xc4c/0xf60\n mdio_probe+0x78/0xb8\n really_probe+0x2b8/0x5a8\n __driver_probe_device+0x164/0x298\n driver_probe_device+0x78/0x258\n __device_attach_driver+0x274/0x350\n\nFreed by task 42:\n __kasan_slab_free+0x48/0x68\n kfree+0x138/0x418\n dsa_register_switch+0x2694/0x2ae0\n mv88e6xxx_register_switch+0x1b8/0x2a8\n mv88e6xxx_probe+0xc4c/0xf60\n mdio_probe+0x78/0xb8\n really_probe+0x2b8/0x5a8\n __driver_probe_device+0x164/0x298\n driver_probe_device+0x78/0x258\n __device_attach_driver+0x274/0x350\n\nThe simplest way to fix the bug is to delete the routing table in its\nentirety. dsa_tree_setup_routing_table() has no problem in regenerating\nit even if we deleted links between ports other than those of switch N,\nbecause dsa_link_touch() first checks whether the port pair already\nexists in dst->rtable, allocating if not.\n\nThe deletion of the routing table in its entirety already exists in\ndsa_tree_teardown(), so refactor that into a function that can also be\ncalled from the tree setup error path.\n\nIn my analysis of the commit to blame, it is the one which added\ndsa_link elements to dst->rtable. Prior to that, each switch had its own\nds->rtable which is freed when the switch fails to probe. But the tree\nis potentially persistent memory.",null,[11],{"_key":12,"id":12,"name":13,"description":14,"type":15,"status":16,"abstraction":17,"likelihood_of_exploit":18,"capec":19},"CWE-416","Use After Free","The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory \"belongs\" to the code that operates on the new pointer.","weakness","Stable","Variant","High",[],[],[],[],[24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90],{"_key":25},"SUSE-SU-2025:02923-1",{"_key":27},"USN-7594-1",{"_key":29},"USN-7594-2",{"_key":31},"USN-7594-3",{"_key":33},"SUSE-SU-2025:02249-1",{"_key":35},"SUSE-SU-2025:02538-1",{"_key":37},"SUSE-SU-2025:02254-1",{"_key":39},"SUSE-SU-2025:02307-1",{"_key":41},"SUSE-SU-2025:02333-1",{"_key":43},"SUSE-SU-2025:20475-1",{"_key":45},"SUSE-SU-2025:20483-1",{"_key":47},"SUSE-SU-2025:20493-1",{"_key":49},"SUSE-SU-2025:20498-1",{"_key":51},"DLA-4499-1",{"_key":53},"DSA-6163-1",{"_key":55},"SUSE-SU-2025:02335-1",{"_key":57},"DEBIAN-CVE-2025-37786",{"_key":59},"USN-8028-1",{"_key":61},"USN-8028-2",{"_key":63},"USN-8028-3",{"_key":65},"USN-8028-4",{"_key":67},"USN-8028-5",{"_key":69},"USN-8028-6",{"_key":71},"USN-8028-7",{"_key":73},"USN-8028-8",{"_key":75},"USN-8031-1",{"_key":77},"USN-8031-2",{"_key":79},"USN-8031-3",{"_key":81},"USN-8052-1",{"_key":83},"USN-8052-2",{"_key":85},"USN-8074-1",{"_key":87},"USN-8074-2",{"_key":89},"USN-8126-1",{"_key":91},"UBUNTU-CVE-2025-37786",[],[94,95,96,97,98,99,100,101,102,103,104],{"_key":25},{"_key":33},{"_key":35},{"_key":37},{"_key":39},{"_key":41},{"_key":43},{"_key":45},{"_key":47},{"_key":49},{"_key":55},"2025-05-01T13:07:20.980Z","2026-05-11T21:15:09.021Z","Analyzed",{"cisa_kev":109,"cisa_ransomware":109,"cisa_vendor":9,"epss_severity":110,"epss_score":111,"severity":112,"severity_score":113,"severity_version":114,"severity_source":115,"severity_vector":116,"severity_status":107},false,"low",0.00063,"high",7.8,"v3.1","nvd","CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",[118,124,128,132,136,140],{"url":119,"sources":120,"tags":122},"https://git.kernel.org/stable/c/fb12b460ec46c9efad98de6d9ba349691db51dc7",[121,115],"cve.org",[123],"Patch",{"url":125,"sources":126,"tags":127},"https://git.kernel.org/stable/c/5c8066fbdb9653c6e9a224bdcd8f9c91a484f0de",[121,115],[123],{"url":129,"sources":130,"tags":131},"https://git.kernel.org/stable/c/a038f5f15af455dfe35bc68549e02b950978700a",[121,115],[123],{"url":133,"sources":134,"tags":135},"https://git.kernel.org/stable/c/8bf108d7161ffc6880ad13a0cc109de3cf631727",[121,115],[123],{"url":137,"sources":138,"tags":139},"https://git.kernel.org/stable/c/51df5513cca6349d0bea01bab95cd96cf869976e",[121,115],[123],{"url":141,"sources":142,"tags":143},"https://git.kernel.org/stable/c/6c20894d21600ca1e8549086dfbb986e277bf8a6",[121,115],[123],[],{"date":146,"score":111,"percentile":147},"2026-06-03",0.1986,[149,153,156,159,162,165,168,171,174,176,179,182,185,188,191,195,198,201,204,207,210,213,217,220,223,226,229,232,235,238,241,244,247,250,253,256,259,262,265,268,271,274,277,280,283,286,289,292,295,298,301,304,307,310,313,316,319,322,324,327,330,333,336,339,342,345,348,351,354,357,360,363,366,370,373,376,379,381,384,387,390,393,396,400,403,406,409,412,415,418],{"date":150,"score":151,"percentile":152},"2025-11-04",0.00016,0.02391,{"date":154,"score":151,"percentile":155},"2025-11-05",0.02418,{"date":157,"score":151,"percentile":158},"2025-11-06",0.02443,{"date":160,"score":151,"percentile":161},"2025-11-07",0.02457,{"date":163,"score":151,"percentile":164},"2025-11-08",0.02463,{"date":166,"score":151,"percentile":167},"2025-11-09",0.02465,{"date":169,"score":151,"percentile":170},"2025-11-10",0.02437,{"date":172,"score":151,"percentile":173},"2025-11-11",0.0245,{"date":175,"score":151,"percentile":164},"2025-11-12",{"date":177,"score":151,"percentile":178},"2025-11-13",0.02511,{"date":180,"score":151,"percentile":181},"2025-11-14",0.02529,{"date":183,"score":151,"percentile":184},"2025-11-15",0.0256,{"date":186,"score":151,"percentile":187},"2025-11-16",0.02559,{"date":189,"score":151,"percentile":190},"2025-11-17",0.02547,{"date":192,"score":193,"percentile":194},"2025-11-18",0.00033,0.05155,{"date":196,"score":193,"percentile":197},"2025-11-19",0.05181,{"date":199,"score":193,"percentile":200},"2025-11-20",0.0523,{"date":202,"score":151,"percentile":203},"2025-11-21",0.0263,{"date":205,"score":151,"percentile":206},"2025-11-22",0.02628,{"date":208,"score":151,"percentile":209},"2025-11-23",0.02621,{"date":211,"score":151,"percentile":212},"2025-11-24",0.0261,{"date":214,"score":215,"percentile":216},"2025-11-25",0.00018,0.03487,{"date":218,"score":215,"percentile":219},"2025-11-26",0.03504,{"date":221,"score":215,"percentile":222},"2025-11-27",0.03519,{"date":224,"score":215,"percentile":225},"2025-11-28",0.03521,{"date":227,"score":215,"percentile":228},"2025-11-29",0.03563,{"date":230,"score":215,"percentile":231},"2025-11-30",0.03568,{"date":233,"score":215,"percentile":234},"2025-12-01",0.0366,{"date":236,"score":215,"percentile":237},"2025-12-02",0.03674,{"date":239,"score":215,"percentile":240},"2025-12-03",0.03689,{"date":242,"score":215,"percentile":243},"2025-12-04",0.03637,{"date":245,"score":215,"percentile":246},"2025-12-05",0.03691,{"date":248,"score":215,"percentile":249},"2025-12-06",0.03707,{"date":251,"score":215,"percentile":252},"2025-12-07",0.03709,{"date":254,"score":215,"percentile":255},"2025-12-08",0.03712,{"date":257,"score":215,"percentile":258},"2025-12-09",0.03749,{"date":260,"score":215,"percentile":261},"2025-12-10",0.03781,{"date":263,"score":215,"percentile":264},"2025-12-11",0.03772,{"date":266,"score":215,"percentile":267},"2025-12-12",0.0379,{"date":269,"score":215,"percentile":270},"2025-12-13",0.038,{"date":272,"score":215,"percentile":273},"2025-12-14",0.03795,{"date":275,"score":215,"percentile":276},"2025-12-15",0.03759,{"date":278,"score":215,"percentile":279},"2025-12-16",0.03774,{"date":281,"score":215,"percentile":282},"2025-12-17",0.03803,{"date":284,"score":215,"percentile":285},"2025-12-18",0.03821,{"date":287,"score":215,"percentile":288},"2025-12-19",0.03804,{"date":290,"score":215,"percentile":291},"2025-12-20",0.03807,{"date":293,"score":215,"percentile":294},"2025-12-21",0.03828,{"date":296,"score":215,"percentile":297},"2025-12-22",0.03796,{"date":299,"score":215,"percentile":300},"2025-12-23",0.03806,{"date":302,"score":215,"percentile":303},"2025-12-24",0.03813,{"date":305,"score":215,"percentile":306},"2025-12-25",0.03842,{"date":308,"score":215,"percentile":309},"2025-12-26",0.03837,{"date":311,"score":215,"percentile":312},"2025-12-27",0.03853,{"date":314,"score":215,"percentile":315},"2025-12-28",0.03838,{"date":317,"score":215,"percentile":318},"2025-12-29",0.03827,{"date":320,"score":215,"percentile":321},"2025-12-30",0.03783,{"date":323,"score":215,"percentile":267},"2025-12-31",{"date":325,"score":215,"percentile":326},"2026-01-01",0.03877,{"date":328,"score":215,"percentile":329},"2026-01-02",0.03871,{"date":331,"score":215,"percentile":332},"2026-01-03",0.03863,{"date":334,"score":215,"percentile":335},"2026-01-04",0.03923,{"date":337,"score":215,"percentile":338},"2026-01-05",0.03887,{"date":340,"score":215,"percentile":341},"2026-01-06",0.0388,{"date":343,"score":215,"percentile":344},"2026-01-07",0.03905,{"date":346,"score":215,"percentile":347},"2026-01-08",0.03939,{"date":349,"score":215,"percentile":350},"2026-01-09",0.0394,{"date":352,"score":215,"percentile":353},"2026-01-10",0.03949,{"date":355,"score":215,"percentile":356},"2026-01-11",0.03927,{"date":358,"score":215,"percentile":359},"2026-01-12",0.03938,{"date":361,"score":215,"percentile":362},"2026-01-13",0.03931,{"date":364,"score":215,"percentile":365},"2026-01-14",0.03967,{"date":367,"score":368,"percentile":369},"2026-01-15",0.00022,0.05298,{"date":371,"score":368,"percentile":372},"2026-01-16",0.05295,{"date":374,"score":368,"percentile":375},"2026-01-17",0.05294,{"date":377,"score":368,"percentile":378},"2026-01-18",0.05274,{"date":380,"score":368,"percentile":200},"2026-01-19",{"date":382,"score":368,"percentile":383},"2026-01-20",0.05191,{"date":385,"score":368,"percentile":386},"2026-01-21",0.05187,{"date":388,"score":368,"percentile":389},"2026-01-22",0.05171,{"date":391,"score":368,"percentile":392},"2026-01-23",0.05228,{"date":394,"score":368,"percentile":395},"2026-01-24",0.05271,{"date":397,"score":398,"percentile":399},"2026-01-25",0.00025,0.06215,{"date":401,"score":398,"percentile":402},"2026-01-26",0.06201,{"date":404,"score":398,"percentile":405},"2026-01-27",0.06179,{"date":407,"score":398,"percentile":408},"2026-01-28",0.06155,{"date":410,"score":398,"percentile":411},"2026-01-29",0.0616,{"date":413,"score":398,"percentile":414},"2026-01-30",0.06163,{"date":416,"score":398,"percentile":417},"2026-01-31",0.06148,{"date":419,"score":398,"percentile":420},"2026-02-01",0.06188,[422],{"source":115,"cvss_v2_0":9,"cvss_v3_0":9,"cvss_v3_1":423,"cvss_v4_0":9},{"baseScore":113,"baseSeverity":424,"vectorString":116,"impactScore":425,"exploitabilityScore":426},"HIGH",9.8,4.6,[428,457],{"ecosystem":9,"name":429,"vendor":430,"product":430,"cpe_part":431,"purl_type":9,"purl_namespace":9,"purl_name":9,"source":9,"versions":432},"Linux","linux","a",[433,440,443,446,449,452,455],{"version":434,"is_range":435,"range_type":121,"version_start":436,"version_start_type":437,"version_end":438,"version_end_type":439,"fixed_in":9},">= c5f51765a1f60b701840544faf3ca63204b8dc3c, \u003C 51df5513cca6349d0bea01bab95cd96cf869976e",true,"c5f51765a1f60b701840544faf3ca63204b8dc3c","including","51df5513cca6349d0bea01bab95cd96cf869976e","excluding",{"version":441,"is_range":435,"range_type":121,"version_start":436,"version_start_type":437,"version_end":442,"version_end_type":439,"fixed_in":9},">= c5f51765a1f60b701840544faf3ca63204b8dc3c, \u003C 6c20894d21600ca1e8549086dfbb986e277bf8a6","6c20894d21600ca1e8549086dfbb986e277bf8a6",{"version":444,"is_range":435,"range_type":121,"version_start":436,"version_start_type":437,"version_end":445,"version_end_type":439,"fixed_in":9},">= c5f51765a1f60b701840544faf3ca63204b8dc3c, \u003C fb12b460ec46c9efad98de6d9ba349691db51dc7","fb12b460ec46c9efad98de6d9ba349691db51dc7",{"version":447,"is_range":435,"range_type":121,"version_start":436,"version_start_type":437,"version_end":448,"version_end_type":439,"fixed_in":9},">= c5f51765a1f60b701840544faf3ca63204b8dc3c, \u003C 5c8066fbdb9653c6e9a224bdcd8f9c91a484f0de","5c8066fbdb9653c6e9a224bdcd8f9c91a484f0de",{"version":450,"is_range":435,"range_type":121,"version_start":436,"version_start_type":437,"version_end":451,"version_end_type":439,"fixed_in":9},">= c5f51765a1f60b701840544faf3ca63204b8dc3c, \u003C a038f5f15af455dfe35bc68549e02b950978700a","a038f5f15af455dfe35bc68549e02b950978700a",{"version":453,"is_range":435,"range_type":121,"version_start":436,"version_start_type":437,"version_end":454,"version_end_type":439,"fixed_in":9},">= c5f51765a1f60b701840544faf3ca63204b8dc3c, \u003C 8bf108d7161ffc6880ad13a0cc109de3cf631727","8bf108d7161ffc6880ad13a0cc109de3cf631727",{"version":456,"is_range":109,"range_type":121,"version_start":456,"version_start_type":437,"version_end":456,"version_end_type":437,"fixed_in":9},"5.5",{"ecosystem":9,"name":458,"vendor":430,"product":459,"cpe_part":460,"purl_type":9,"purl_namespace":9,"purl_name":9,"source":9,"versions":461},"linux kernel","linux_kernel","o",[462,466,470,474,476],{"version":463,"is_range":435,"range_type":464,"version_start":456,"version_start_type":437,"version_end":465,"version_end_type":439,"fixed_in":9},"gte5.5_lt6.6.88","cpe","6.6.88",{"version":467,"is_range":435,"range_type":464,"version_start":468,"version_start_type":437,"version_end":469,"version_end_type":439,"fixed_in":9},"gte6.7_lt6.12.25","6.7","6.12.25",{"version":471,"is_range":435,"range_type":464,"version_start":472,"version_start_type":437,"version_end":473,"version_end_type":439,"fixed_in":9},"gte6.13_lt6.14.4","6.13","6.14.4",{"version":475,"is_range":109,"range_type":464,"version_start":9,"version_start_type":9,"version_end":9,"version_end_type":9,"fixed_in":9},"6.15:rc1",{"version":477,"is_range":109,"range_type":464,"version_start":9,"version_start_type":9,"version_end":9,"version_end_type":9,"fixed_in":9},"6.15:rc2"]