sshole (CVE-2026-123158): Alpine Linux를 공격하는 OpenSSH 취약점 및 해결 방법
에 의해 Eoin Villarin, 2026-11-07
sshole이라는 OpenSSH 취약점은 공격자가 Alpine Linux 및 기타 musl 기반 시스템에서 비밀번호 없는 계정에 로그인하게 하며 이미 악용되고 있습니다. 영향을 받는 대상, 서버 확인 방법 및 해결 방법은 다음과 같습니다.
저는 sshole OpenSSH 취약점에 영향을 받나요?
서버에서 OpenSSH 10.6p2 이전 버전이 musl 기반 시스템(예: 알파인 리눅스) PAM 없이 실행되고 SSH 비밀번호 로그인을 허용하며 비밀번호 필드가 실제 비밀번호 해시 옆에 있는 계정과 별표로 되어 있는 경우 위험에 처해 있습니다. 데비안, 우분투, 페도라 및 PAM을 사용하는 설정은 영향을 받지 않습니다.
주요 내용
- CVE-2026-123158, sshole이라고 불리는 이 취약점은 공격자가 musl 기반 Linux에서 oversized 비밀번호를 보내 비밀번호가 없는 계정에 로그인할 수 있도록 합니다.
- Alpine Linux의 기본 openssh-server 패키지는 영향을 받지만 Ubuntu와 같은 glibc 시스템 및 PAM을 사용하는 설정은 영향을 받지 않습니다.
- 공격자는 취약점이 공개된 지 9시간도 안 되어 이를 악용했고, honeypot에서 루트를 얻었습니다.
- 수정 사항은 OpenSSH 10.6p2 또는 귀하의 분기에 대한 Alpine의 패치 패키지이며 sshd 재시작 후 적용됩니다.
- 아직 업데이트할 수 없는 경우 PasswordAuthentication no로 설정하고 SSH 키를 사용하십시오.
sshole이라는 새로 공개된 OpenSSH 취약점(CVE-2026-123158)은 공격자가 비밀번호를 받아서는 안 되는 특정 Linux 계정에 로그인할 수 있도록 합니다. Alpine Linux와 같은 musl 기반 시스템의 OpenSSH에 영향을 미치며, 2026년 11월 5일에 수정되었고, 공개된 지 9시간도 안 되어 공격자가 사용하기 시작했습니다. Alpine 서버, SSH가 있는 Alpine 기반 Docker 이미지 또는 OpenWrt의 소형 장치를 실행하는 경우 오늘 확인하십시오.
sshole OpenSSH 취약점이란 무엇입니까?
musl 기반 시스템에서 C 라이브러리의 crypt() 함수는 비밀번호를 해시하지 못할 때 단일 별표(*)를 반환합니다(예: 비밀번호가 256바이트 제한보다 길 때). 많은 Linux 시스템도 비밀번호 필드에서 단일 *를 사용하여 "이 계정에 비밀번호가 없음"을 의미합니다. OpenSSH는 두 가지를 비교하고 *를 일치로 간주했습니다. υπερ Sized 비밀번호를 전송하는 것만으로도 비밀번호가 없는 계정에 로그인할 수 있었습니다.
이 동작은 OpenSSH의 비밀번호 처리에서 2016년 변경으로 거슬러 올라갑니다. 보안 연구원 Özgün Kültekin은 약 17,600개의 인증 테스트를 실행하는 AI 에이전트를 사용하여 이를 발견했습니다. CVE는 CVSS 3.1 점수 8.1로 평가되었으며, 이는 높음으로 평가되며 수정 사항은 OpenSSH 10.6p2에 포함되었습니다.
영향을 받나요?
서버는 다음 조건이 모두 참일 때 위험합니다.
- musl 기반 시스템(예: Alpine Linux, OpenWrt, Buildroot 또는 Yocto)에서 OpenSSH 10.6p2 이전 버전을 실행하는 경우
- sshd는 PAM을 사용하지 않습니다. Alpine의 openssh-server 패키지의 기본값입니다.
- SSH 비밀번호 로그인이 활성화되어 있습니다. 이는 OpenSSH의 기본값입니다.
- 적어도 하나의 계정은 키 전용 사용자처럼 비밀번호 필드에 *만 있고 다른 계정은 실제 비밀번호 해시를 가지고 있습니다.
Alpine의 공식 AWS 및 Azure 클라우드 이미지(3.18.11에서 3.24.3까지)는 심각한 경우입니다. 여기에는 비밀번호가 없는 기본 alpine 사용자와 비밀번호가 없는 doas가 포함되어 있어 로그인에 성공하면 루트가 될 수 있습니다.
영향을 받지 않음: Debian, Ubuntu 및 Fedora와 같은 glibc 기반 시스템, PAM, Dropbear 및 OpenBSD를 통해 비밀번호를 확인하는 설정입니다. 실제 비밀번호 해시를 가진 계정은 이런 방식으로 우회할 수 없습니다.
서버를 확인하는 방법
다음을 각 sshd를 실행하는 Alpine 서버 또는 컨테이너에서 루트로 실행하십시오:
- SSH 설정을 확인하십시오.
sshd -T | grep -i -E 'passwordauthentication|usepam'. 비밀번호 인증이 꺼져 있거나 PAM이 켜져 있는 경우 이 취약점을 사용할 수 없습니다. - 설치된 패키지를 확인하십시오:
apk list --installed | grep openssh, 비교해 보십시오. 아래는 수정된 버전입니다. - 비밀번호가 없는 계정을 나열하십시오:
awk -F: '$2=="*" {print $1}' /etc/shadow. - 해당 계정에 대한 로그인을 찾으십시오:
grep "Accepted password" /var/log/messages. 비밀번호 로그인 필드에 *이 있는 계정은 서버가 공격을 받은 것일 가능성이 있습니다.
Alpine Linux에서 CVE-2026-123158을 수정하는 방법
Alpine는 공개와 같은 날 3.16에서 edge까지 모든 브랜치에 패치된 패키지를 제공했습니다. 업데이트하고 sshd를 다시 시작하십시오. 업데이트를 설치해도 실행 중인 프로세스가 다시 시작되지는 않기 때문입니다.
apk upgrade -U -a 그리고 나서 rc-service sshd restart
| Alpine 브랜치 | openssh 버전 수정됨 |
|---|---|
| edge | 10.6_p2-r0 |
| 3.24 | 10.3_p1-r2 |
| 3.23 | 10.2_p1-r1 |
| 3.22 | 10.0_p1-r11 |
| 3.21 | 9.9_p2-r1 |
| 3.20 | 9.7_p1-r6 |
| 3.19 | 9.6_p1-r3 |
| 3.18 | 9.3_p2-r4 |
| 3.17 | 9.1_p1-r7 |
| 3.16 | 9.0_p1-r6 |
Docker의 경우 openssh를 포함하는 모든 이미지를 새로운 기본 이미지에서 재구축하고 다시 배포하십시오. Docker Hub의 일부 SSH 이미지(예: linuxserver의 openssh-server)는 기본적으로 비밀번호 로그인을 끄지만 PASSWORD_ACCESS=true로 설정하면 노출됩니다.
3.16 이전의 Alpine 릴리스는 수정된 패키지를 받지 않습니다. 지원되는 릴리스로 업그레이드하거나 아래의 해결 방법을 사용하십시오.
빠른 해결 방법: SSH 비밀번호 로그인을 끄십시오
즉시 업데이트할 수 없는 경우 설정 PasswordAuthentication no /etc/ssh/sshd_config에서 sshd를 다시 시작하고 sshd -T 검사를 다시 실행합니다. SSH 키 로그인이 작동하는지 확인하기 전에 이 작업을 수행하지 않으면 서버에서 잠길 수 있습니다. 키 전용 SSH는 모든 서버에 기본값으로 좋습니다.
당신이 공격을 받은 것으로 생각되는 경우 해야 할 일
- doas 사용 검토, 최근 생성된 사용자 및 모든 authorized_keys 파일.
- 알 수 없는 프로세스, cron 작업 및 나가는 연결을 확인하십시오.
- 만약 손상을 배제할 수 없다면 서버가 손상된 것으로 간주하십시오: 깨끗한 이미지에서 재구축하고 보유한 모든 비밀번호, 키 및 토큰을 교체하십시오.
- GitHub에서 서버를 테스트하기 위해 개념 증명 익스플로잇을 다운로드하지 마십시오. 연구진은 일부는 검증되지 않았으며 멀웨어를 포함할 수 있다고 경고합니다.
서버 패치 유지는 큰 부분입니다 웹사이트 유지관리 저는 고객을 위해 이 작업을 수행합니다. 호스팅, Docker 설정 또는 SSH 구성을 확인하는 데 도움이 필요하면 연락하기.
자주 묻는 질문
우분투 또는 데비안은 sshole의 영향을 받나요?
아니요. 데비안, 우분투, 페도라 및 기타 glibc 기반 시스템은 영향을 받지 않으며, PAM을 비밀번호 확인에 사용하는 설정도 영향을 받지 않습니다.
키 전용 SSH로 보호되나요?
예. PasswordAuthentication을 no로 설정하면 서버는 비밀번호를 허용하지 않으므로 취약점을 사용할 수 없습니다.
CVE-2026-123158이 악용되고 있나요?
예. 위협 인텔리전스 회사 Previdian은 CVE가 공개된 후 9시간도 채 되지 않아 첫 번째 시도를 보았고, 알파인 리눅스를 실행하는 허니팟 중 하나에서 공격자가 루트 권한을 얻었습니다.
어떤 OpenSSH 버전이 이를 수정하나요?
OpenSSH 10.6p2. 알파인에서 해당 분기에 대해 패치된 openssh 패키지를 설치하고 sshd를 다시 시작하십시오.
도커 컨테이너는 영향을 받나요?
비밀번호 로그인이 활성화된 sshd를 실행하는 알파인 기반 컨테이너는 영향을 받을 수 있습니다. 업데이트된 기본 이미지에서 재구축하고 다시 배포하십시오.
업데이트 후에 다시 시작해야 하나요?
예. 실행 중인 sshd는 취약한 코드를 메모리에 유지하다가 서비스를 다시 시작할 때까지 유지합니다.