🔍 CVE-2026-66835

0.0
CVSS Score
UNKNOWN
2026-09-01
2026-09-08 01:17
✅ 완료

🇰🇷 한글 설명

Erlang/OTP inets httpd의 경로 등가성 취약점으로 인해, 원격의 인증되지 않은 공격자가 요청 경로 앞에 슬래시(/)를 추가하여 인증 보호 디렉토리 내부의 파일을 읽을 수 있습니다. 이는 URI 정규화 과정에서 중복 슬래시가 제거되지 않아 인증 로직을 우회하고 운영체제가 이를 동일한 경로로 처리하기 때문에 발생합니다.

💡 쉬운 설명

웹사이트 주소에 슬래시를 두 번 넣으면(예: //file) 보안 검사를 통과해버리는 버그입니다. 이 버그를 이용하면 비밀번호 없이도 보호된 파일을 몰래 볼 수 있습니다.

🇺🇸 원문 (English)

Path Equivalence vulnerability in Erlang/OTP inets httpd allows a remote unauthenticated attacker to read files inside a mod_auth protected directory by prefixing the request path with an extra slash. httpd_request:validate_uri/1 normalises the request URI with uri_string:normalize/1, which performs RFC 3986 dot-segment removal but does not collapse empty path segments, so a doubled slash survives. mod_alias:real_name/3 concatenates the document root with that URI, and mod_auth:secret_path/3 then decides whether the result lies inside a protected directory block by running the configured directory path as an unanchored regular expression against it. The doubled slash breaks the contiguous substring the regex needs, so the request is treated as unprotected and no authentication challenge is issued, while mod_get opens the same path and the operating system collapses the doubled slash and returns the protected file. The same path mismatch also evades the per-path accounting in mod_security. This issue affects OTP from OTP 17.0 before OTP 27.3.4.17, from OTP 28.0 before OTP 28.5.0.6, and from OTP 29.0 before OTP 29.0.6, corresponding to inets from 5.10 before 9.3.2.7, from 9.4 before 9.6.2.3, and from 9.7 before 9.7.2. Whether OTP before OTP 17.0, corresponding to inets before 5.10, is affected is unknown.

📍 영향받는 시스템

OTP 17.0 < 27.3.4.17, 28.0 < 28.5.0.6, 29.0 < 29.0.6 (inets 5.10 < 9.3.2.7, 9.4 < 9.6.2.3, 9.7 < 9.7.2)

⚔️ 공격 벡터

요청 URI 경로 앞에 추가적인 슬래시(/)를 삽입하여 인증 체크를 우회하는 경로 조작 공격

🛡️ 대응 방법

Erlang/OTP를 최신 보안 패치가 적용된 버전(27.3.4.17, 28.5.0.6, 29.0.6 이상)으로 업데이트하십시오.

🔧 검증 코드

출력된 OTP 버전이 취약 버전 범위에 포함되는지 확인하십시오.

Shell / Script
erl -eval 'io:format("~s~n", [erlang:system_info(otp_release)]), halt().' -noshell

💻 영향받는 소프트웨어

Apache HTTP Server