OpenSSH와 musl-libc 결함이 패스워드로 256자 초과 문자열 입력만으로 Alpine Linux 및 기타 배포판에 접근 가능하게 함
요약
OpenSSH와 musl libc의 결합된 버그로 인해 Alpine Linux 등 여러 리눅스 배포판에 비밀번호 없이 접근할 수 있는 심각한 취약점이 발견되었습니다. 공격자는 패스워드 프롬프트에 256자 이상의 임의 문자열을 입력하는 것만으로 시스템에 침투할 수 있습니다.
핵심 포인트
- 취약점은 OpenSSH, musl, 비활성화되지 않은 비밀번호 인증 등 복합적인 조건에서 발생합니다.
- Alpine Linux는 기본 선택지이므로 즉각적인 패치 및 보안 설정 변경이 필수적입니다.
- 가장 쉬운 완화 방법은 OpenSSH 설정 파일에서 'PasswordAuthentication'을 명시적으로 'no'로 설정하는 것입니다.
- OpenSSH와 musl 개발자 모두 이미 해당 취약점에 대한 패치를 공개했습니다.
인터넷은 지난 몇 주 동안 발견된 PHP 엔진 취약점과 그 외 모든 보안 취약점으로 여전히 혼란을 겪고 있으며, 아직 끝나지 않았습니다. 오늘의 특별 내용은 상당히 심각합니다. OpenSSH와 musl libc의 결합된 버그 덕분에 비밀번호 없이 Alpine, OpenWRT 및 기타 Linux 배포판에 접근할 수 있습니다. 패스워드 프롬프트에 무작위로 256자 이상의 문자를 입력하기만 하면 sshhole을 통해 접속할 수 있습니다.
이 취약점은 시스템 사용자에게 빈 비밀번호가 설정되어 있을 때 작동하는데, 이는 여러 배포판의 기본값입니다. 이 버그는 Buildroot, Yocto, Void Linux 전반에 걸쳐 존재하지만 반드시 활성화된 것은 아닙니다. OpenWRT는 기본적으로 Dropbear를 인증에 사용하지만, 사용자는 대신 OpenSSH를 설치할 수 있습니다.
가장 큰 우려는 단연 Alpine입니다. 왜냐하면 Docker/Kubernetes/Proxmox 컨테이너 및 그 무수한 종속성, 서버, 클라우드 VM, 임베디드 장치 등 수백만 개의 설치 건수에 달할 수 있는 기본 선택지이기 때문입니다. Alpine은 필요한 조건이 설정되어 있고 비밀번호 인증이 기본적으로 활성화되어 있기 때문에 즉각적인 패치가 필요합니다.
광범위하게 말해, 이 취약점 조합은 다음과 같습니다: OpenSSH, musl, 명시적으로 비활성화되지 않은 비밀번호 인증, PAM을 사용하지 않음, 그리고 비밀번호가 설정된 임의의 사용자 1명, SHA-512/256 해시를 사용합니다.
프로젝트 권고 사항에 따라 시스템을 즉시 패치하십시오. 한편, 가장 쉬운 완화 방법은 OpenSSH 설정 파일에서 "PasswordAuthentication"을 명시적으로 "no"로 설정하고 서비스를 재시작하는 것입니다.
실제로는 Alpine 및 유사한 설치본의 대다수가 인터넷에서 접근 불가능하지만, 기업 환경 설정(corporate setups), 홈 랩(home labs), 클라우드 네트워크, VPN 등을 포함하여 네트워크 내부에 있는 모든 공격자는 침투할 수 있습니다. 마찬가지로, 충분히 큰 규모의 기업 환경에서는 얻기 어렵지 않은 유효 사용자 계정 하나만 있으면 되며, 그러면 공격자가 네트워크 내부에 있게 됩니다. 취약점을 스캔하고 테스트하는 것 또한 사소합니다.
OpenSSH는 이미 패치를 공개했고, musl 개발자인 Rich Felker 역시 경고문을 발표했습니다. 양측 모두 상대방에게 잘못이 있다고 생각하는 것 같지만, 외부에서 볼 때 책임은 공유된 것으로 보입니다.
만약 /etc/passwd 또는 /etc/shadow 파일을 살펴본 적이 있다면, 비밀번호가 없는 계정의 패스워드 해시를 위한 자리 표시자(placeholder)로 단일 별표(")를 발견했을 수 있습니다. 이는 "비밀번호가 없어도 작동해야 한다"는 의미입니다. SSHhole 웹사이트에 모든 세부 정보가 나와 있지만, 문제는 musl의 crypt() 함수가 통상적인 관행대로 null 값을 반환하는 대신 오류 조건으로 "*"를 반환할 때 발생하며, OpenSSH가 이를 적절하지 않은 상황에서 패스워드 해시와 비교하는 과정에서 문제가 생깁니다. 이때 지나치게 긴 입력값이 연쇄적인 실수들을 유발하게 됩니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Tom's Hardware의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기