{"id":22280,"date":"2026-09-15T00:30:44","date_gmt":"2026-09-14T16:30:44","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-82439"},"modified":"2026-09-15T00:30:44","modified_gmt":"2026-09-14T16:30:44","slug":"cve-2026-82439","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-82439","title":{"rendered":"CVE-2026-82439 &#8211; Description\n\nThe DRPC server kept a map from function name to request queue and created an"},"content":{"rendered":"<p>Description<\/p>\n<p>The DRPC server kept a map from function name to request queue and created an entry the first time a<br \/>\nfunction name was seen. No code path ever removed an entry: request cleanup removed the request from its<br \/>\nqueue, and the shutdown path drained queues, but the queue object and its map entry remained for the life of<br \/>\nthe process.<\/p>\n<p>Function names come from the client and are not constrained to functions any topology has registered, so the<br \/>\nnumber of retained entries is bounded only by the number of distinct names an attacker chooses to send, and<br \/>\neach retained entry holds the name itself. `drpc.authorizer` is unset by default, so no credentials are<br \/>\nrequired to reach the endpoint.<\/p>\n<p>The retained state is permanent rather than a transient load spike, so the effect accumulates until the DRPC<br \/>\nserver exhausts its heap.<\/p>\n<p>Mitigation<\/p>\n<p>Upgrade to 3.1.0, where a function&#8217;s queue is removed once nothing is waiting in it.<\/p>\n<p>Users who cannot upgrade immediately should configure `drpc.authorizer` so that only trusted principals can<br \/>\nreach the DRPC endpoints, and should ensure the DRPC ports are not reachable from untrusted networks.<\/p>\n<p>Credit<\/p>\n<p>The ASF &#8212; found using Claude agents to study the security of open-source projects, validated and reported by Apache Storm.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Description<\/p>\n<p>The DRPC server kept a map from function name to request queue and created an entry the first time a<br \/>\nfunction name was seen. No code path ever removed an entry: request cleanup removed th<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-22280","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/22280","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=22280"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=22280"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=22280"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}