Skip to main content

LemonLDAP::NG CVE-2026-92289

| EUVDEUVD-2026-86489 CRITICAL
Weak Authentication (CWE-1390)
2026-09-25 CPANSec GHSA-vw4x-93xp-f6f3
Critical
Disputed · 9.1 Vendor: CPANSec
Share

Severity by source

Sources disagree (Medium–Critical)
Vendor (CPANSec) PRIMARY
9.1 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
vuln.today AI
7.4 HIGH

Unauthenticated network attack (PR:N) yielding full token theft/account takeover (C:H/I:H), but requires first intercepting a victim's authorization code, so AC:H; no availability impact.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Ubuntu
MEDIUM
qualitative

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

CVSS VectorVendor: CPANSec

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

7
Metadata Corrected
Sep 27, 2026 - 01:40 vuln.today
tag: Perl added
Metadata Corrected
Sep 27, 2026 - 01:40 vuln.today
tag: Microsoft removed
Metadata Corrected
Sep 27, 2026 - 01:40 vuln.today
tag: RCE removed
Analysis Generated
Sep 27, 2026 - 01:28 vuln.today
CVSS changed
Sep 26, 2026 - 23:37 NVD
9.1 (CRITICAL)
CVE Published
Sep 25, 2026 - 00:15 cve.org
UNKNOWN (no severity yet)
CVE Published
Sep 25, 2026 - 00:15 cve.org
CRITICAL 9.1

DescriptionCVE.org

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.

AnalysisAI

An authorization-code interception attack against public OIDC Relying Parties on LemonLDAP::NG::Portal 2.23.0 through 2.23.3 lets an attacker redeem a stolen code for the victim's access, ID and refresh tokens without knowing the client secret, which is precisely the theft PKCE is designed to prevent. The flaw only applies to Relying Parties flagged as public while oidcRPMetaDataOptionsRequirePKCE is set to 2 ('PKCE or secret' mode), a configuration that Dynamic Client Registration creates automatically for every RP, making exposure broad on affected deployments. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

No credit card · 7-day full trial

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Access
technique details hidden
Delivery
technique details hidden
Exploit
technique details hidden
Execution
technique details hidden
Impact
technique details hidden

Vulnerability AssessmentAI

Exploitation Requires the OIDC Relying Party to be a PUBLIC client configured with oidcRPMetaDataOptionsRequirePKCE set to 2 ('PKCE or secret' mode) on LemonLDAP::NG Portal versions 2.23.0 through 2.23.3. … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment This is a genuine authentication/authorization-logic flaw (CWE-1390, weak authentication) in the OIDC OpenID Provider of LemonLDAP::NG, not a memory-corruption or RCE issue. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario Full exploit scenario with step-by-step reproduction available after sign-in.
Remediation Upgrade LemonLDAP::NG::Portal to 2.23.4 or later, the vendor-released fixed version available from https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/releases/v2.23.4, and apply the corresponding Debian/Ubuntu package updates once rebased (both distributions track the release, so prioritise internet-facing identity providers running packaged 2.23.0-2.23.3). … Detailed patch versions, workarounds, and compensating controls in full report.

Recommended ActionAI

Patch available per vendor advisory; within 24 hours, inventory all LemonLDAP::NG::Portal deployments and identify any instance running version 2.23.0, 2.23.1, 2.23.2, or 2.23.3, prioritizing internet-facing and Dynamic Client Registration enabled systems; apply the vendor patch to the highest-risk instances immediately and, where patching cannot be completed, temporarily restrict public OIDC Relying Parties or enforce PKCE-only behavior if operationally viable. …

Sign in for detailed remediation steps and compensating controls.

Threat intelligence, references, and detailed analysis are available after sign-in.

More in Perl

View all
CVE-2012-6329 HIGH POC
7.5 Jan 04

The _compile function in Maketext.pm in the Locale::Maketext implementation in Perl before 5.17.7 does not properly hand

CVE-2017-12814 CRITICAL POC
9.8 Sep 28

Stack-based buffer overflow in the CPerlHost::Add method in win32/perlhost.h in Perl before 5.24.3-RC1 and 5.26.x before

CVE-2015-8608 CRITICAL POC
9.8 Feb 07

The VDir::MapPathA and VDir::MapPathW functions in Perl 5.22 allow remote attackers to cause a denial of service (out-of

CVE-2018-18314 CRITICAL POC
9.8 Dec 07

Perl before 5.26.3 has a buffer overflow via a crafted regular expression that triggers invalid write operations. Rated

CVE-2018-18312 CRITICAL POC
9.8 Dec 05

Perl before 5.26.3 and 5.28.0 before 5.28.1 has a buffer overflow via a crafted regular expression that triggers invalid

CVE-2018-18313 CRITICAL POC
9.1 Dec 07

Perl before 5.26.3 has a buffer over-read via a crafted regular expression that triggers disclosure of sensitive informa

CVE-2016-2381 HIGH
7.5 Apr 08

Perl might allow context-dependent attackers to bypass the taint protection mechanism in a child process via duplicate e

CVE-2023-31484 HIGH POC
8.1 Apr 29

CPAN.pm before 2.35 does not verify TLS certificates when downloading distributions over HTTPS. Rated high severity (CVS

CVE-2016-6185 HIGH POC
7.8 Aug 02

The XSLoader::load method in XSLoader in Perl does not properly locate .so files when called in a string eval, which mig

CVE-2018-12015 HIGH POC
7.5 Jun 07

In Perl through 5.26.2, the Archive::Tar module allows remote attackers to bypass a directory-traversal protection mecha

CVE-2015-8853 HIGH
7.5 May 25

The (1) S_reghop3, (2) S_reghop4, and (3) S_reghopmaybe3 functions in regexec.c in Perl before 5.24.0 allow context-depe

CVE-2017-12883 CRITICAL
9.1 Sep 19

Buffer overflow in the S_grok_bslash_N function in regcomp.c in Perl 5 before 5.24.3-RC1 and 5.26.x before 5.26.1-RC1 al

Vendor StatusVendor

Ubuntu

Priority: Medium
lemonldap-ng
Release Status Version
xenial needs-triage -
bionic needs-triage -
focal needs-triage -
jammy needs-triage -
noble needs-triage -
resolute needs-triage -
upstream released 2.23.4+ds-1

Debian

lemonldap-ng
Release Status Fixed Version Urgency
bookworm vulnerable 2.16.1+ds-deb12u8 -
bookworm (security) vulnerable 2.16.1+ds-deb12u9 -
trixie (security), trixie vulnerable 2.21.2+ds-1+deb13u3 -
sid fixed 2.23.4+ds-1 -
(unstable) fixed 2.23.4+ds-1 -

Share

CVE-2026-92289 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy