176 lines
8.0 KiB
JSON
176 lines
8.0 KiB
JSON
{
|
|
"dataType": "CVE_RECORD",
|
|
"dataVersion": "5.2",
|
|
"cveMetadata": {
|
|
"cveId": "CVE-2026-92289",
|
|
"assignerOrgId": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
|
|
"state": "PUBLISHED",
|
|
"assignerShortName": "CPANSec",
|
|
"dateReserved": "2026-09-15T23:43:48.309Z",
|
|
"datePublished": "2026-09-25T00:15:49.826Z",
|
|
"dateUpdated": "2026-09-26T22:29:08.052Z"
|
|
},
|
|
"containers": {
|
|
"cna": {
|
|
"affected": [
|
|
{
|
|
"collectionURL": "https://cpan.org/modules",
|
|
"defaultStatus": "unaffected",
|
|
"modules": [
|
|
"Lemonldap::NG::Portal"
|
|
],
|
|
"packageName": "Lemonldap-NG-Portal",
|
|
"packageURL": "pkg:cpan/Lemonldap-NG-Portal",
|
|
"programFiles": [
|
|
"lib/Lemonldap/NG/Portal/Lib/OpenIDConnect.pm",
|
|
"lib/Lemonldap/NG/Portal/Issuer/OpenIDConnect.pm"
|
|
],
|
|
"programRoutines": [
|
|
{
|
|
"name": "Lemonldap::NG::Portal::Lib::OpenIDConnect::checkEndPointAuthenticationCredentials"
|
|
},
|
|
{
|
|
"name": "Lemonldap::NG::Portal::Issuer::OpenIDConnect::token"
|
|
}
|
|
],
|
|
"repo": "https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng",
|
|
"versions": [
|
|
{
|
|
"lessThan": "2.23.4",
|
|
"status": "affected",
|
|
"version": "2.23.0",
|
|
"versionType": "custom"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"descriptions": [
|
|
{
|
|
"lang": "en",
|
|
"value": "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.\n\nWith 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.\n\nAn 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."
|
|
}
|
|
],
|
|
"problemTypes": [
|
|
{
|
|
"descriptions": [
|
|
{
|
|
"cweId": "CWE-1390",
|
|
"description": "CWE-1390 Weak Authentication",
|
|
"lang": "en",
|
|
"type": "CWE"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"providerMetadata": {
|
|
"orgId": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
|
|
"shortName": "CPANSec",
|
|
"dateUpdated": "2026-09-25T00:15:49.826Z"
|
|
},
|
|
"references": [
|
|
{
|
|
"tags": [
|
|
"issue-tracking"
|
|
],
|
|
"url": "https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/work_items/3719"
|
|
},
|
|
{
|
|
"tags": [
|
|
"release-notes"
|
|
],
|
|
"url": "https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/releases/v2.23.4"
|
|
}
|
|
],
|
|
"solutions": [
|
|
{
|
|
"lang": "en",
|
|
"value": "Upgrade to Lemonldap-NG-Portal 2.23.4 or later."
|
|
}
|
|
],
|
|
"source": {
|
|
"discovery": "UNKNOWN"
|
|
},
|
|
"title": "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",
|
|
"workarounds": [
|
|
{
|
|
"lang": "en",
|
|
"value": "For deployments that cannot upgrade to 2.23.4, set RequirePKCE to 1 on public Relying Parties so that a code challenge is always required. Relying Parties created through dynamic registration are always in \"PKCE or secret\" mode, so that endpoint has to be disabled as well."
|
|
}
|
|
],
|
|
"x_generator": {
|
|
"engine": "cpansec-cna-tool 0.1"
|
|
}
|
|
},
|
|
"adp": [
|
|
{
|
|
"title": "CVE Program Container",
|
|
"references": [
|
|
{
|
|
"url": "http://www.openwall.com/lists/oss-security/2026/09/25/2"
|
|
}
|
|
],
|
|
"providerMetadata": {
|
|
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
|
|
"shortName": "CVE",
|
|
"dateUpdated": "2026-09-25T02:10:01.838Z"
|
|
}
|
|
},
|
|
{
|
|
"references": [
|
|
{
|
|
"url": "https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/work_items/3719",
|
|
"tags": [
|
|
"exploit"
|
|
]
|
|
}
|
|
],
|
|
"metrics": [
|
|
{
|
|
"cvssV3_1": {
|
|
"scope": "UNCHANGED",
|
|
"version": "3.1",
|
|
"baseScore": 9.1,
|
|
"attackVector": "NETWORK",
|
|
"baseSeverity": "CRITICAL",
|
|
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N",
|
|
"integrityImpact": "HIGH",
|
|
"userInteraction": "NONE",
|
|
"attackComplexity": "LOW",
|
|
"availabilityImpact": "NONE",
|
|
"privilegesRequired": "NONE",
|
|
"confidentialityImpact": "HIGH"
|
|
}
|
|
},
|
|
{
|
|
"other": {
|
|
"type": "ssvc",
|
|
"content": {
|
|
"timestamp": "2026-09-25T15:38:54.575555Z",
|
|
"id": "CVE-2026-92289",
|
|
"options": [
|
|
{
|
|
"Exploitation": "poc"
|
|
},
|
|
{
|
|
"Automatable": "yes"
|
|
},
|
|
{
|
|
"Technical Impact": "total"
|
|
}
|
|
],
|
|
"role": "CISA Coordinator",
|
|
"version": "2.0.3"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"title": "CISA ADP Vulnrichment",
|
|
"providerMetadata": {
|
|
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
|
|
"shortName": "CISA-ADP",
|
|
"dateUpdated": "2026-09-26T22:29:08.052Z"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
} |