CVE-2026-92289: CWE-1390 Weak Authentication
Lemonldap::NG::Portal versions from 2.23.0 before 2.23.4 for Perl allow a PKCE bypass for public Relying Parties in "PKCE or secret" mode because checkEndPointAuthenticationCredentials does not verify the client secret. With oidcRPMetaDataOptionsRequirePKCE set to 2, the authorization endpoint issues a code even when the request carries no code_challenge, and token() admits the exchange as long as a challenge was stored or an authentication method was returned for the caller. checkEndPointAuthenticationCredentials() skips the secret comparison for a Relying Party marked public and still returns the method deduced from the request, so any Basic or form credential satisfies the secret branch. validatePKCEChallenge() then passes, because neither a challenge nor a verifier is present. An attacker who intercepts an authorization code issued to a public Relying Party can exchange it for the user's access, ID and refresh tokens by replaying the client_id with an arbitrary secret, which is the attack PKCE prevents. Dynamic client registration creates every Relying Party in this mode.
AI Analysis
Technical Summary
Lemonldap::NG::Portal versions >=2.23.0 and <2.23.4 have a PKCE bypass vulnerability affecting public Relying Parties configured in "PKCE or secret" mode. The authorization endpoint issues codes even without a code_challenge when oidcRPMetaDataOptionsRequirePKCE is set to 2. The function checkEndPointAuthenticationCredentials skips client secret verification for public clients, allowing any Basic or form credential to satisfy the secret check. Consequently, validatePKCEChallenge passes without a proper challenge or verifier. An attacker intercepting an authorization code can replay the client_id with any secret to obtain access, ID, and refresh tokens, defeating PKCE's protection against code interception attacks.
Potential Impact
An attacker who intercepts an authorization code issued to a public Relying Party can exchange it for the user's access, ID, and refresh tokens without knowing the legitimate client secret. This compromises user session security and token confidentiality for affected Lemonldap::NG::Portal deployments using vulnerable versions and configurations.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, avoid using public Relying Parties in "PKCE or secret" mode with oidcRPMetaDataOptionsRequirePKCE set to 2, or implement additional compensating controls to protect authorization codes. Monitor vendor channels for official patches or updates.
CVE-2026-92289: CWE-1390 Weak Authentication
Description
Lemonldap::NG::Portal versions from 2.23.0 before 2.23.4 for Perl allow a PKCE bypass for public Relying Parties in "PKCE or secret" mode because checkEndPointAuthenticationCredentials does not verify the client secret. With oidcRPMetaDataOptionsRequirePKCE set to 2, the authorization endpoint issues a code even when the request carries no code_challenge, and token() admits the exchange as long as a challenge was stored or an authentication method was returned for the caller. checkEndPointAuthenticationCredentials() skips the secret comparison for a Relying Party marked public and still returns the method deduced from the request, so any Basic or form credential satisfies the secret branch. validatePKCEChallenge() then passes, because neither a challenge nor a verifier is present. An attacker who intercepts an authorization code issued to a public Relying Party can exchange it for the user's access, ID and refresh tokens by replaying the client_id with an arbitrary secret, which is the attack PKCE prevents. Dynamic client registration creates every Relying Party in this mode.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
Lemonldap::NG::Portal versions >=2.23.0 and <2.23.4 have a PKCE bypass vulnerability affecting public Relying Parties configured in "PKCE or secret" mode. The authorization endpoint issues codes even without a code_challenge when oidcRPMetaDataOptionsRequirePKCE is set to 2. The function checkEndPointAuthenticationCredentials skips client secret verification for public clients, allowing any Basic or form credential to satisfy the secret check. Consequently, validatePKCEChallenge passes without a proper challenge or verifier. An attacker intercepting an authorization code can replay the client_id with any secret to obtain access, ID, and refresh tokens, defeating PKCE's protection against code interception attacks.
Potential Impact
An attacker who intercepts an authorization code issued to a public Relying Party can exchange it for the user's access, ID, and refresh tokens without knowing the legitimate client secret. This compromises user session security and token confidentiality for affected Lemonldap::NG::Portal deployments using vulnerable versions and configurations.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, avoid using public Relying Parties in "PKCE or secret" mode with oidcRPMetaDataOptionsRequirePKCE set to 2, or implement additional compensating controls to protect authorization codes. Monitor vendor channels for official patches or updates.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- CPANSec
- Date Reserved
- 2026-09-15T23:43:48.309Z
- State
- PUBLISHED
Threat ID: 6ab5c858f7a7c541062274c3
Added to database: 09/25/2026, 01:03:20 UTC
Last enriched: 09/25/2026, 01:17:45 UTC
Last updated: 09/25/2026, 03:12:41 UTC
Views: 7
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.