CVE-2015-1855: 루비 OpenSSL 호스트 이름 검증

루비 OpenSSL 확장은 호스트 이름을 지나치게 관대하게 매칭하는 취약점을 겪고 있습니다. 이는 CVE-2014-1492 같은 버그가 될 수 있습니다. 파이썬에서도 비슷한 문제가 발견되었습니다.

이 취약점은 CVE ID CVE-2015-1855에 할당되었습니다.

루비를 업그레이드하시길 강력히 권합니다.

상세

RFC 6125RFC 5280를 검토한 후, 호스트 이름 매칭과 특정 와일드 카드의 인증에 여러 위반 사항을 발견했습니다.

루비 OpenSSL 확장은 이제 문자열 기반 매칭 알고리즘을 제공합니다. 이는 위의 RFC에서 권장한, 보다 엄격한 행동을 합니다. 특히, subject/SAN당 하나 이상의 와일드 카드를 매칭하는 것은 더 이상 허용하지 않습니다. 뿐만 아니라, 이 값의 비교는 이제 대소문자를 구별하지 않습니다.

이 변경은 루비의 OpenSSL::SSL#verify_certificate_identity 동작을 변경합니다.

구체적으로 말하면,

  • 호스트 이름의 왼쪽 끝 부분의 한 와일드 카드 문자만 허용됨.
  • IDNA 이름은 이제 간단한 와일드 카드만 매칭함. (예를 들어 ‘*.domain’)
  • Subject/SAN은 ASCII 문자로만 제한되어야 함.

영향받는 릴리스를 사용하시는 모든 분은 즉시 업그레이드하셔야 합니다.

영향받는 버전

  • 루비 2.0.0 패치레벨 645 이전의 모든 루비 2.0 버전
  • 루비 2.1.6 이전의 모든 루비 2.1 버전
  • 루비 2.2.2 이전의 모든 루비 2.2 버전
  • 리비전 50292 이전의 트렁크

참여자

이 이슈를 보고해주신 Tony Arcieri 님, Jeffrey Walton 님, Steffan Ullrich 님께 감사드립니다. 최초 보고는 버그 #9644에서 이루어졌고, Tony Arcieri 님과 Hiroshi Nakamura 님이 수정하셨습니다.

수정 이력

  • 2015-04-13 12:00:00 (UTC) 최초 공개