커뮤니티GeekNews / Hada
Sshole - musl 기반 OpenSSH에서 비밀번호 인증을 우회하는 취약점
musl libc를 사용하는 Linux 환경에서 PAM 없이 실행되는 OpenSSH의 비밀번호 인증 우회 취약점이 발견되었습니다. 비밀번호 필드가 '*'로 설정된 계정이 존재할 경우, musl의 crypt() 함수가 실패 시 반환하는 '*' 값이 계정의 비밀번호와 일치하는 로직을 악용합니다. 공격자는 257자에서 1024자 사이의 긴 비밀번호를 입력하여 타 계정의 솔트를 이용한 해시 계산 과정을 거쳐 인증을 통과할 수 있습니다.
주요 내용
-
musl 기반 Linux에서 PAM을 사용하지 않는 OpenSSH 환경에서 특정 계정의 비밀번호 인증이 우회될 수 있습니다.
-
비밀번호 필드가 '*'인 계정에서 musl의 crypt() 실패 반환값이 계정 비밀번호와 일치하는 점을 악용합니다.
-
비밀번호 로그인 기능이 활성화된 상태에서 257~1024자 길이의 비밀번호를 입력하면 인증 우회가 성립합니다.