🇰🇷 한글 설명
Lemonldap::NG::Handler의 특정 버전에서 경로 표기법의 유사성을 이용해 locationRules 제한을 우회할 수 있는 취약점이 발견되었습니다. 공격자가 퍼센트 인코딩, 점(.) 세그먼트 삽입 또는 슬래시 중복을 사용하면 보안 규칙이 적용되지 않은 상태로 보호된 리소스에 접근할 수 있습니다. 이는 기본 규칙이 제한 규칙보다 허용 범위가 넓은 가상 호스트(vhost)에서 발생합니다.
💡 쉬운 설명
웹사이트의 보안 규칙이 주소를 검사할 때, 주소를 살짝 꼬아서 입력하면 보안 검사를 통과해버리는 문제입니다. 이를 통해 원래는 접근할 수 없는 페이지에 몰래 들어갈 수 있습니다.
🇺🇸 원문 (English)
Lemonldap::NG::Handler versions from 2.0.0 before 2.16.10, from 2.17.0 before 2.21.6, from 2.22.0 before 2.23.4 for Perl allow an equivalent spelling of a path to bypass the locationRules that restrict it.
The handler matches each vhost's locationRules regular expressions against REQUEST_URI, the raw request line, while the web server routes on the path it has already percent-decoded and normalized. A request that percent-encodes a character of the path, inserts dot segments, or doubles a slash therefore reaches the protected resource under a URI that no rule regexp matches, and the vhost's default rule decides access. Deny rules, identity and group conditions, and unprotect and skip rules are bypassed alike.
Only a vhost whose default rule is more permissive than its other rules is affected. An authenticated user then reaches any URL a locationRules regexp was meant to restrict, but gains no more than that default rule already grants.
📍 영향받는 시스템
Lemonldap::NG::Handler (Perl) 2.0.0 < 2.16.10, 2.17.0 < 2.21.6, 2.22.0 < 2.23.4
⚔️ 공격 벡터
퍼센트 인코딩, 점(.) 세그먼트 삽입 또는 슬래시 중복을 이용한 URI 조작을 통한 규칙 우회
🛡️ 대응 방법
Lemonldap::NG::Handler를 최신 버전(2.16.10, 2.21.6 또는 2.23.4 이상)으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 취약한 버전 범위(2.0.0~2.16.10 미만 등)에 해당되는지 확인하십시오.
perl -MModule::Version -e 'print $Module::Version if eval "use Lemonldap::NG::Handler;"'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
💻 영향받는 소프트웨어
IBM Verify Identity Access