🇰🇷 한글 설명
PhpWiki 1.3.13p1 이전 버전에서 PASSWORD_LENGTH_MINIMUM 설정이 0일 때, LDAP 인증 시 빈 비밀번호를 입력해도 ldap_bind() 함수가 true를 반환하면서 인증 우회가 발생합니다. 특정 LDAP 서버 구현에서는 빈 비밀번호를 유효한 인증으로 처리하는 동작으로 인해 발생하는 보안 결함입니다.
💡 쉬운 설명
PhpWiki의 LDAP 로그인에서 비밀번호 최소 길이 설정이 없으면, 아무 비밀번호나 빈 비밀번호로도 로그인할 수 있습니다. 공격자가 정상적인 계정으로 접속할 수 있게 되는 문제입니다.
🇺🇸 원문 (English)
lib/WikiUser/LDAP.php in PhpWiki before 1.3.13p1, when the configuration lacks a nonzero PASSWORD_LENGTH_MINIMUM, might allow remote attackers to bypass authentication via an empty password, which causes ldap_bind to return true when used with certain LDAP implementations.
📍 영향받는 시스템
PhpWiki 1.3.13p1 이전 버전 (LDAP 인증 활성화 및 PASSWORD_LENGTH_MINIMUM 미설정)
⚔️ 공격 벡터
원격 공격자가 LDAP 인증 페이지에 접근하여 알려진 사용자명과 빈 비밀번호를 입력하면 인증 우회 가능
🛡️ 대응 방법
PhpWiki를 1.3.13p1 이상으로 업그레이드하고 config.ini에서 PASSWORD_LENGTH_MINIMUM을 1 이상의 값으로 설정
🔧 검증 코드
출력이 나면 취약한 설정 (PASSWORD_LENGTH_MINIMUM=0), 출력이 없으면 안전 설정
grep -r 'PASSWORD_LENGTH_MINIMUM' /path/to/phpwiki/config.ini | grep -E '^[^#].*PASSWORD_LENGTH_MINIMUM\s*=\s*0'