Summary
CVE-2026-19349 is a critical authentication bypass vulnerability in Lemonldap::NG::Portal, the authentication portal component of the LemonLDAP::NG Web-SSO system. The flaw lies in the GitHub and LinkedIn OAuth2 authentication backends, where an unauthenticated attacker can obtain a fully valid SSO session without ever completing authentication. It carries a CVSS v3.1 base score of 9.8 (Critical).
Technical details
- Root cause: before redirecting a user to the identity provider, the portal’s
extractFormInfo()function creates an OAuth2 state session by callinggetApacheSession(undef, 1, 0, 'GitHubState')using positional arguments. getApacheSession()expects a session ID followed by a named-argument hash; the trailing positional arguments are instead absorbed into that hash, causing thekindparameter to default toSSOrather than a state-specific type.- As a result, the OAuth2 state value is written into global session storage as an ordinary, fully privileged SSO session rather than a transient state token.
- Trigger conditions: any visitor who reaches the GitHub or LinkedIn login endpoint on the portal receives a state identifier that can be replayed directly as a session cookie.
- Attack vector: network, no authentication or user interaction required, no privileges needed.
- Impact: complete authentication bypass, granting the attacker a valid SSO session and access to any resources protected by the LemonLDAP::NG SSO, resulting in full loss of confidentiality, integrity, and availability for protected applications.
Affected software
- Lemonldap::NG::Portal 2.0.0 up to and including 2.16.8 (fixed in 2.16.9)
- Lemonldap::NG::Portal 2.17.0 up to and including 2.21.4 (fixed in 2.21.5)
- Lemonldap::NG::Portal 2.22.0 up to and including 2.23.2 (fixed in 2.23.3)
Severity
- CVSS v3.1 Base Score: 9.8 (Critical)
- Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Mitigation and recommended actions
- Immediate: upgrade Lemonldap::NG::Portal to version 2.16.9, 2.21.5, or 2.23.3 (or later), depending on the branch in use.
- If patching is not immediately possible: disable the GitHub and LinkedIn OAuth2 authentication backends on the portal until the upgrade can be applied.
How IONIX identifies potentially affected assets
IONIX matches the following signals against data already collected when it crawled the asset; identifying the technology sends no request beyond that crawl.
- Raw response body:
LemonLDAP::NG,free software covered by the GPL license,Unable to protect this server - Page title:
Authentication portal - Named response header (
server):Lemonldap::NG/Lemonldap::NG::Handlerfollowed by a version number

