🔍 CVE-2026-92289

9.1
CVSS Score
CRITICAL
2026-09-25
2026-09-26 23:16
✅ 완료

🇰🇷 한글 설명

Lemonldap::NG::Portal 2.23.0 미만 2.23.4 버전에서 PKCE 인증 우회 취약점이 발견되었습니다. 'PKCE or secret' 모드에서 클라이언트 비밀번호 검증이 누락되어, 공격자가 탈취한 인증 코드를 사용하여 사용자 토큰을 획득할 수 있습니다.

💡 쉬운 설명

로그인 과정에서 보안을 강화하는 장치가 제대로 작동하지 않아, 해커가 중간에 가로챈 코드를 이용해 사용자 계정에 몰래 접속할 수 있는 문제입니다. 마치 열쇠가 없어도 문이 열리는 것과 같은 보안 결함입니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

Lemonldap::NG::Portal versions 2.23.0 to 2.23.3

⚔️ 공격 벡터

인증 코드를 가로챈 공격자가 임의의 비밀번호를 사용하여 토큰 교환을 시도함으로써 PKCE 보안을 우회함

🛡️ 대응 방법

Lemonldap::NG::Portal을 2.23.4 이상의 최신 버전으로 업데이트하십시오.

🔧 검증 코드

출력된 버전 번호가 2.23.4 미만인지 확인하십시오.

Shell / Script
perl -MLemonldap::NG::Portal -e 'print $Lemonldap::NG::Portal::VERSION . "\n"' 2>/dev/null

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

💻 영향받는 소프트웨어

IBM Security Verify Access