{"id":4295,"date":"2026-09-04T18:46:23","date_gmt":"2026-09-04T10:46:23","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-55735"},"modified":"2026-09-04T18:46:23","modified_gmt":"2026-09-04T10:46:23","slug":"cve-2026-55735","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-55735","title":{"rendered":"CVE-2026-55735 [HIGH] &#8211; Improper Verification of Cryptographic Signature in ueberauth guardian allows an unauthent"},"content":{"rendered":"<p>Improper Verification of Cryptographic Signature in ueberauth guardian allows an unauthenticated attacker to revoke a victim&#8217;s session with a forged token.<\/p>\n<p>Guardian.revoke\/3 in lib\/guardian.ex decodes the supplied token with peek\/1, which performs no signature verification (it only base64-decodes the JWT header and payload). The resulting unverified claims are forwarded directly to the configured token module&#8217;s revoke callback and the implementation&#8217;s on_revoke callback, a state-mutating sink. The sibling operations refresh\/2 and exchange\/4 both call decode_and_verify first, so the signature is checked before anything acts on the claims; revoke\/3 is the only state-mutating path that acts on claims without verifying the signature.<\/p>\n<p>An attacker who knows or guesses a victim&#8217;s identifying claim values (jti, sub) can forge a JWT carrying those claims, sign it with an arbitrary key, and submit it to any endpoint that funnels a caller-supplied token into Guardian.revoke\/3 (the standard logout \/ session-revocation pattern). When the token module mutates state keyed by the claims (whitelist deletion or blacklist insertion, for example a GuardianDb-style store), the victim&#8217;s legitimate session is evicted. This is an unauthenticated session-revocation denial of service; the attacker never needs the signing secret.<\/p>\n<p>This issue affects guardian: from 1.0.0 before 2.4.1.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Improper Verification of Cryptographic Signature in ueberauth guardian allows an unauthenticated attacker to revoke a victim&#8217;s session with a forged token.<\/p>\n<p>Guardian.revoke\/3 in lib\/guardian.ex decode<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-4295","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/4295","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=4295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}