CVE-2026-92289

Source
https://cve.org/CVERecord?id=CVE-2026-92289
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-92289.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-92289
Downstream
Published
2026-09-25T00:15:49Z
Modified
2026-09-28T03:48:35Z
Severity
  • 9.1 (Critical) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N CVSS Calculator
Summary
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
Details

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.

Database specific
{
    "cna_assigner":  "CPANSec",
    "cwe_ids":  [
        "CWE-1390"
    ],
    "osv_generated_from":  "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/92xxx/CVE-2026-92289.json"
}
References

Affected packages

Git / gitlab.ow2.org/lemonldap-ng/lemonldap-ng

Affected ranges

Type
GIT
Repo
https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng
Events
Database specific
Show details
{
    "extracted_events":  [
        {
            "introduced":  "2.23.0"
        },
        {
            "fixed":  "2.23.4"
        }
    ],
    "source":  [
        "AFFECTED_FIELD",
        "DESCRIPTION"
    ]
}

Affected versions

v2.*
v2.23.0
v2.23.1
v2.23.2
v2.23.3

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-92289.json"