CVE-2026-19349
Received Received - Intake

Authentication Bypass in Lemonldap::NG::Portal via OAuth2 State

Vulnerability report for CVE-2026-19349, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-16

Last updated on: 2026-08-16

Assigner: CPANSec

Description

Lemonldap::NG::Portal versions from 2.0.0 before 2.16.9, from 2.17.0 before 2.21.5, from 2.22.0 before 2.23.3 for Perl allow authentication bypass via an OAuth2 state parameter stored as an SSO session in the GitHub and LinkedIn backends. Before redirecting to the identity provider, extractFormInfo() creates the state session with the positional call `getApacheSession( undef, 1, 0, 'GitHubState' )`. getApacheSession() takes a session id followed by a named argument hash, so the trailing arguments become that hash, `kind` defaults to SSO, and the state is written to the global session storage as a regular SSO session. Its identifier is handed to the unauthenticated visitor as the state parameter of the redirection URL. Any visitor who reaches the GitHub or LinkedIn endpoint can replay that identifier as a session cookie and obtain a valid SSO session without authenticating. The session holds neither _user nor authenticationLevel, which the shipped bootstrap configuration accepts because it grants virtual hosts a "default => accept" access rule; deployments whose rules test the user or require an authentication level are less exposed. Only configurations with the GitHub or LinkedIn authentication module enabled are affected.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-16
Last Modified
2026-08-16
Generated
2026-08-16
AI Q&A
2026-08-16
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 3 associated CPEs
Vendor Product Version / Range
lemonldap ng_portal From 2.0.0 (inc) to 2.16.9 (exc)
lemonldap ng_portal From 2.17.0 (inc) to 2.21.5 (exc)
lemonldap ng_portal From 2.22.0 (inc) to 2.23.3 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-305 The authentication algorithm is sound, but the implemented mechanism can be bypassed as the result of a separate weakness that is primary to the authentication error.
CWE-628 The product calls a function, procedure, or routine with arguments that are not correctly specified, leading to always-incorrect behavior and resultant weaknesses.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

Lemonldap::NG::Portal versions before 2.16.9, 2.21.5, and 2.23.3 have an authentication bypass flaw in OAuth2 state parameter handling for GitHub and LinkedIn backends. The state parameter is stored as an SSO session, allowing attackers to replay it as a session cookie to gain unauthorized access without authenticating.

Detection Guidance

Check if your LemonLDAP::NG Portal version is between 2.0.0-2.16.8, 2.17.0-2.21.4, or 2.22.0-2.23.2. Inspect OAuth2 state parameter handling in GitHub and LinkedIn authentication backends for improper session storage.

Impact Analysis

Attackers could bypass authentication and gain access to protected resources if the vulnerable configuration is deployed. Impact depends on the SSO setup: default configurations are highly exposed, while stricter access rules reduce risk. Only systems using GitHub or LinkedIn authentication modules are affected.

Compliance Impact

This vulnerability could lead to unauthorized access to sensitive data, potentially violating GDPR's data protection requirements and HIPAA's security rules for protected health information if exploited.

Mitigation Strategies

Upgrade to a patched version: 2.16.9, 2.21.5, or 2.23.3 or later. Disable GitHub or LinkedIn authentication modules if unused. Review access rules to ensure they require proper authentication levels.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-19349. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart