Hacker News 의견
  • RCE 수정이 거의 한 달 전에 공개적으로 "은밀하게" 이루어졌음

    • PerSourcePenalties가 활성화되면 sshd(8)는 자식 사전 인증 세션 프로세스의 종료 상태를 모니터링함
    • 클라이언트가 인증을 반복적으로 시도하거나 sshd가 충돌할 때 페널티를 기록함
    • 이 패치는 바이너리 아키텍처를 변경하여 특정 취약점을 제거하고 전체 익스플로잇 클래스를 완화함
  • 버그를 도입한 diff에서 함수가 다음과 같이 리팩토링됨

    • 원래 함수: sigdie(const char *fmt,...)
    • 리팩토링된 함수: sshsigdie(const char *file, const char *func, int line, const char *fmt, ...)
    • #ifdef가 누락됨
    • 더 많은 사람들이 풀 리퀘스트를 검토했다면 예방할 수 있었을 것임
  • OpenSSH 릴리스 노트에서 흥미로운 코멘트

    • 32비트 Linux/glibc 시스템에서 ASLR과 함께 성공적인 익스플로잇이 시연됨
    • 64비트 시스템에서도 가능할 것으로 보임
  • OpenBSD는 SIGALRM 핸들러가 syslog_r()를 호출하여 이 취약점에 영향을 받지 않음

    • 비동기 신호 안전 버전의 syslog()를 사용함
    • 신호 핸들러 내의 코드 양을 최소화하는 리팩토링이 필요했음
  • musl의 syslog(3)를 조사한 결과, glibc와 달리 쉽게 익스플로잇되지 않음

    • 모든 것이 스택 또는 재진입 보호된 정적 변수에 있음
  • FreeBSD용 패치가 나왔으며, glibc를 사용하지 않기 때문에 영향을 받지 않을 가능성이 높음

  • sshd_config 파일에서 'LoginGraceTime 0'을 설정하면 문제를 완화할 수 있음

    • 이는 서비스 거부 공격에 취약하게 만들지만 원격 코드 실행을 방지함
  • Debian 12용 패치가 나왔으며, Debian 11은 영향을 받지 않음

  • OpenSSH 릴리스 노트와 최소 패치 링크 제공

  • 독립적인 입장에서 단일 취약점을 찾는 것만으로도 충분해야 한다고 생각함

    • 전체 체인을 찾아야만 사람들이 심각하게 받아들이거나 보상금을 지급하는 경향이 있음