{"id":15436,"date":"2026-09-04T19:04:16","date_gmt":"2026-09-04T11:04:16","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-47065"},"modified":"2026-09-04T19:04:16","modified_gmt":"2026-09-04T11:04:16","slug":"cve-2026-47065","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-47065","title":{"rendered":"CVE-2026-47065 [CRITICAL] &#8211; ZDRES-232: resolveProxyClass Not Overridden &#8211; acceptMatchers Filter Bypass via java.lang.r"},"content":{"rendered":"<p>ZDRES-232: resolveProxyClass Not Overridden &#8211; acceptMatchers Filter Bypass via java.lang.reflect.Proxy<\/p>\n<p>Assessment: Fully addressed.<\/p>\n<p>When the serialised stream contains a TC_PROXYCLASSDESC (the marker<br \/>\nfor a java.lang.reflect.Proxy ), JDK\u2019s ObjectInputStream.readProxyDesc()<br \/>\n is<br \/>\ndispatched. JDK then calls the default<br \/>\nObjectInputStream.resolveProxyClass(interfaces) implementation, which<br \/>\nperforms Class.forName(intf, false, latestUserDefinedLoader()) for EACH<br \/>\ninterface name and constructs the proxy class \u00e2\u20ac\u201d bypassing the accepted<br \/>\n classes list .<\/p>\n<p>ZDRES-233: Class.forName(name, initialize=true, classLoader) in<br \/>\nreadClassDescriptor Triggers Static Initialiser of Allow-Listed Classes<\/p>\n<p>Assessment: Fully addressed.<\/p>\n<p>For ANY class on the allow-list, deserialising a stream that names it triggers the class\u2019s<br \/>\n (static initialiser) BEFORE any instance is constructed. This means an<br \/>\nattacker who supplies a class name on the allow-list (e.g., the<br \/>\ndeveloper wrote accept(\u201ccom.myapp.*&#8221;) , attacker supplies<br \/>\ncom.myapp.SomeClass ) causes  of SomeClass \u00e2\u20ac\u201d and many<br \/>\nreal-world classes have side-effecting static initialisers<\/p>\n<p>Both issues have been fixed.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ZDRES-232: resolveProxyClass Not Overridden &#8211; acceptMatchers Filter Bypass via java.lang.reflect.Proxy<\/p>\n<p>Assessment: Fully addressed.<\/p>\n<p>When the serialised stream contains a TC_PROXYCLASSDESC (the mar<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-15436","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/15436","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=15436"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15436"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15436"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}