Description
pac4j-saml before 6.5.6 does not require signature validation of SAML LogoutRequest messages in SAML2LogoutValidator.validateLogoutRequest(). When an IdP sends no SessionIndex, a session can be destroyed based solely on the NameID, allowing an unauthenticated attacker to submit an unsigned LogoutRequest with a guessed identifier (e.g., an email address used as NameID) to terminate a victim's SAML session.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
pac4j pac4j
Default version status: unaffected
0 to < 6.5.6affected
pkg:maven/org.pac4j/pac4j-parentReferences
- https://github.com/pac4j/pac4j/commit/2270c3ff70e93cc43831e75702acd5135531237e ↗
- https://www.pac4j.org/blog/security-advisory-pac4j-core-oidc-saml.html ↗
- https://github.com/pac4j/pac4j/blob/pac4j-parent-6.5.5/pac4j-saml/src/main/java/org/pac4j/saml/logout/impl/SAML2LogoutValidator.java ↗
- https://github.com/pac4j/pac4j ↗
- https://www.vulncheck.com/advisories/pac4j-saml-before-6.5.6-session-destruction-via-unsigned-logoutrequest ↗