Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconAttacker crafts backslash-prefixed logout redirect URL
-
DeliveryDelivers malicious link to victim via phishing or embedded hyperlink
-
ExploitVictim clicks link and triggers pac4j logout
-
InstallDefaultLogoutLogic validates URL against regex (backslash not excluded, check passes)
-
C2Browser normalizes backslash to network-path reference
-
ExecuteVictim redirected to attacker-controlled site
-
ImpactCredential harvest or further phishing executed
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Redirect URL validation
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the victim to follow a crafted logout URL containing a backslash-prefixed redirect parameter - attacker-controlled delivery of such a link via email, SMS, or embedded hyperlink is the prerequisite. The target application must run pac4j-core prior to 6.5.6 with logout functionality exposed via a URL that accepts a redirect parameter. The logoutUrlPattern (whether default or custom) must not independently exclude backslash characters. No attacker authentication is required (PR:N per CVSS 4.0 vector). Exploitation is limited by the user-interaction requirement: automated mass exploitation without victim clicks is not possible. Deployment on any major browser is sufficient, as all normalize backslash to forward slash in URL path resolution. |
| Impact | The CVSS 4.0 score of 5.3 (Medium) with vector AV:N/AC:L/AT:N/PR:N/UI:P accurately reflects the real-world risk profile: network-exploitable with no attacker authentication required and low attack complexity, but contingent on victim interaction (clicking a crafted logout link). No EPSS data was provided in the source intelligence. The vulnerability is not listed in CISA KEV, and no public proof-of-concept exploit has been identified, indicating no confirmed mass exploitation at time of analysis. The impact is constrained to low-level confidentiality and integrity effects - consistent with redirect-based phishing rather than direct system compromise. Open redirects carry meaningful downstream risk for credential harvesting campaigns, and the low complexity of crafting a malicious logout URL means any organization running an unpatched version should treat patching as routine-but-prompt rather than emergency response. The absence of a KEV listing is a favorable signal but does not eliminate risk, as open redirects are frequently exploited in targeted phishing rather than broad automated scanning. |
| Exploit ScenarioDerived | An attacker sends a victim a crafted logout link such as 'https://app.example.com/logout?url=\attacker-phishing.com'. The victim clicks the link, pac4j validates the backslash-prefixed URL against the regex (which passes because backslash is not excluded), destroys the session, and issues a redirect response. The browser normalizes the backslash into a network-path reference and navigates the victim to the attacker's site, where a cloned login page harvests credentials. No public proof-of-concept code has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 29, 2026
Open redirect in pac4j-core before 6.5.6 allows network-accessible attackers to redirect authenticated users to attacker-controlled sites immediately after logout. DefaultLogoutLogic.perform() validated logout redirect targets against a URL pattern regex, but that regex did not exclude backslash characters; browsers normalize backslash-prefixed paths (e.g., \evil.com) into network-path references (//evil.com), bypassing the intended allow-list. No public exploit code has been identified and the vulnerability is not listed in CISA KEV, but the low attack complexity makes exploitation straightforward once a crafted logout link reaches a victim.
RemediationAI
Upgrade pac4j-core to version 6.5.6 or later, which is the vendor-confirmed fixed release. The patch is available at https://github.com/pac4j/pac4j/commit/2270c3ff70e93cc43831e75702acd5135531237e and the full security advisory is at https://www.pac4j.org/blog/security-advisory-pac4j-core-oidc-saml.html. As a compensating control prior to patching, operators using a custom logoutUrlPattern should explicitly exclude backslash characters in their regex (e.g., ensure the character class contains [^\\]); note that custom patterns may need independent review even after upgrading to 6.5.6, since the fix to the default pattern does not retroactively sanitize operator-supplied patterns. A WAF rule rejecting logout redirect parameters containing literal backslash characters is an additional layer of defense, with the trade-off that overly broad WAF rules may interfere with legitimate redirect parameters in other contexts.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
pac4j is a Java security framework (CPE: cpe:2.3:a:pac4j:pac4j:*:*:*:*:*:*:*:*) used for authentication and authorization across JEE, Spring, Play, and other frameworks. The vulnerable component is DefaultLogoutLogic.java in pac4j-core. The root cause is CWE-601 (URL Redirection to Untrusted Site): the method used Pattern.matches(logoutUrlPattern, url) directly against the raw submitted string before any normalization. The default logoutUrlPattern '^(\/|\/[^\/].*)$' was designed to permit only relative paths starting with a single forward slash, but did not exclude backslash. RFC-compliant browser URL parsing treats a leading backslash as equivalent to a forward slash for network-path references, so '\evil.com' is resolved as '//evil.com' - an external host. The fix introduces isUrlAllowedForRedirect(), which explicitly rejects any URL containing a backslash prior to pattern matching, and also hardens the default pattern regex to '^(\/|\/[^\/\\].*)$'.
Know when Pac4J gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
Network-delivered attack requires victim to click a crafted link (UI:R); no attacker authentication needed; redirect-only impact bounds C and I to Low; no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
pac4j-core before 6.5.6 contains an open redirect vulnerability in DefaultLogoutLogic.perform() that accepts backslash-prefixed logout redirect targets matching logoutUrlPattern. Attackers can craft logout links with backslash-prefixed external hosts that browsers normalize into network-path references, redirecting victims to attacker-controlled sites after logout.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
LDAP injection vulnerabilities in PAC4J authentication library allow low-privileged remote attackers to execute arbitrar
Authentication bypass in pac4j-core before 6.5.6 allows authenticated users holding a weaker profile type to access reso
Privilege escalation in pac4j-oidc before 6.5.6 allows authenticated attackers to forge Keycloak access tokens and claim
CSRF protection bypass in PAC4J authentication library allows remote attackers to forge state-changing requests without
Session termination via unsigned SAML LogoutRequest in pac4j-saml before 6.5.6 allows unauthenticated remote attackers t
Authentication bypass in pac4j-oidc before 6.5.6 allows remote unauthenticated attackers to establish authenticated sess
The SAML identifier generated within SAML2Utils.java was found to make use of the apache commons-lang3 RandomStringUtils
EUVD-2026-68121
GHSA-f668-xfp8-vhf5
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB