{"id":25519,"date":"2026-09-18T04:31:30","date_gmt":"2026-09-17T20:31:30","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90110"},"modified":"2026-09-18T04:31:30","modified_gmt":"2026-09-17T20:31:30","slug":"cve-2026-90110","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90110","title":{"rendered":"CVE-2026-90110 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\ninetpeer: randomize R"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>inetpeer: randomize RB-tree node comparison using SipHash<\/p>\n<p>The inetpeer rate limiting system stores peer entries in a Red-Black tree<br \/>\nkeyed deterministically on the remote IP address. Because tree lookups walk<br \/>\nthe RB-tree using standard lexicographical comparisons (inetpeer_addr_cmp),<br \/>\nan off-path adversary can predict the exact topology of the tree and the<br \/>\nsequence of nodes traversed during lookups (the gc_stack candidate list).<\/p>\n<p>By combining deterministic tree traversal with aggressive garbage collection<br \/>\n(triggered when tree size exceeds inet_peer_threshold), an attacker can<br \/>\nselectively force the eviction of targeted inet_peer nodes. When an evicted<br \/>\nnode is subsequently re-created upon receiving a new packet, its rate-limiting<br \/>\ntoken bucket (rate_tokens, rate_last) is reset to full capacity. This creates<br \/>\na side-channel primitive allowing off-path attackers to bypass IP-keyed ICMP<br \/>\nrate limits and infer open UDP ports (similar to SAD DNS style attacks).<\/p>\n<p>Mitigate this by randomizing the RB-tree node comparison logic using SipHash<br \/>\nwith a secret key (inetpeer_hash_key) initialized via net_get_random_once().<br \/>\nNodes are ordered in the tree by SipHash(addr, key) rather than raw IP<br \/>\naddresses. Because the secret key is unknown to external entities, the tree<br \/>\nlayout and lookup traversal paths are unpredictable to off-path adversaries,<br \/>\nbreaking the deterministic eviction gadget.<\/p>\n<p>Cache the computed 64-bit SipHash (hash) in struct inet_peer and compute the<br \/>\ntarget hash (dhash) once at the beginning of inet_getpeer() to avoid recomputing<br \/>\nSipHash at every step of the RB-tree walk.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>inetpeer: randomize RB-tree node comparison using SipHash<\/p>\n<p>The inetpeer rate limiting system stores peer entries in a Red-Black tre<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-25519","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/25519","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=25519"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25519"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25519"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}