CVE-2026-19349: 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
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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Lemonldap::NG::Portal (Perl)to a version that resolves this vulnerability.Fixed in 2.16.9Patch CVE-2026-19349 - Upgrade
Upgrade
Lemonldap::NG::Portal (Perl)to a version that resolves this vulnerability.Fixed in 2.21.5Patch CVE-2026-19349 - Upgrade
Upgrade
Lemonldap::NG::Portal (Perl)to a version that resolves this vulnerability.Fixed in 2.23.3Patch CVE-2026-19349 - Compensating control
If you cannot upgrade immediately, ensure authorization rules do not allow 'default => accept' for the affected virtual hosts; deployments whose rules test the user or require an authentication level are less exposed.
Event History
Frequently Asked Questions
What is the severity of CVE-2026-19349?
CVE-2026-19349 has a risk score of 71, indicating a high severity vulnerability.
How do I fix CVE-2026-19349?
To fix CVE-2026-19349, upgrade Lemonldap::NG::Portal to version 2.16.9 or higher, 2.21.5 or higher, or 2.23.3 or higher.
What systems are affected by CVE-2026-19349?
CVE-2026-19349 affects Lemonldap::NG::Portal versions from 2.0.0 before 2.16.9, from 2.17.0 before 2.21.5, and from 2.22.0 before 2.23.3.
What type of vulnerability is CVE-2026-19349?
CVE-2026-19349 is an authentication bypass vulnerability related to OAuth2 state parameters.
Is there a workaround for CVE-2026-19349?
There is no specified workaround for CVE-2026-19349, and upgrading is the recommended solution.