🇰🇷 한글 설명
OpenSSH 서버의 신호 처리 메커니즘에서 경쟁 조건 취약점이 발견되었습니다. 비인증 원격 공격자가 일정 시간 내에 인증하지 않으면 SIGALRM 신호 핸들러가 비동기적으로 호출되며, 이 핸들러가 syslog() 같은 async-signal-safe하지 않은 함수를 호출합니다. 최악의 경우 공격자는 sshd를 실행하는 권한없는 사용자로 원격 코드 실행에 성공할 수 있습니다.
💡 쉬운 설명
SSH 접속 시간 제한 기능에 문제가 있어서, 악의적인 사람이 특정 순간에 공격하면 서버 접속 없이도 시스템을 제어할 수 있습니다. 누구나 인터넷으로 접근 가능한 SSH 포트를 통해 이 공격을 시도할 수 있습니다.
🇺🇸 원문 (English)
A race condition vulnerability was discovered in how signals are handled by OpenSSH's server (sshd). If a remote attacker does not authenticate within a set time period, then sshd's SIGALRM handler is called asynchronously. However, this signal handler calls various functions that are not async-signal-safe, for example, syslog(). As a consequence of a successful attack, in the worst case scenario, an attacker may be able to perform a remote code execution (RCE) as an unprivileged user running the sshd server.
📍 영향받는 시스템
OpenSSH 8.5p1 이전 버전 (8.0~8.4p1 가장 취약)
⚔️ 공격 벡터
인증되지 않은 원격 공격자가 인증 타임아웃 중 SIGALRM 신호 핸들러의 경쟁 조건 악용
🛡️ 대응 방법
OpenSSH를 8.5p1 이상으로 업데이트 또는 신호 처리 패치 적용
🔧 검증 코드
OpenSSH 버전이 표시되며, 8.5p1 미만이면 취약점 존재 (예: 8.4p1=취약, 8.5p1이상=안전)
sshd -v 2>&1 | head -1 | grep -oP 'OpenSSH_\K[0-9]+\.[0-9]+(p[0-9]+)?'