Net::HTTPS 보안 취약성
net/https 라이브러리 보안 취약점이 보고 었습니다.
자세한 정보는 아 주소에서 찾을 있습니다. <URL:http://www.isecpartners.com/advisories/2007-006-rubyssl.txt>
향력
이 취약점은 http.rb 파일에 있는 연결 메서드에서 발견었습니다. SSL 연결 네고시에이(negotiation)을 마친 후 post_connection_check 출이 실패는 것입니다. 서버 인증서 CN이 요청한 DNS 이름에 한 유효성 체크를 지 않기 때문에, 공격자는 SSL 연결에서 해당 서버 사용자로 위장 가능합니다. 그렇게 면 SSL이 제공는 무결성이 비밀성 등 택이 사라집니다.
취약한 버전
- 1.8.x
-
- 1.8.4 이 모든 버전
- 1.8.5-p113 이 모든 버전
- 1.8.6-p110 이 모든 버전
- 개발 버전(1.9.x)
- 2006-09-23 이전 모든 버전
해결책
- 1.8.x
-
1.8.6-p111이 1.8.5-p114로 업그이드 십시.
- <URL:http://ftp.ruby-online.co.uk/pub/ruby/1.8/ruby-1.8.6-p111.tar.gz>
- <URL:http://ftp.ruby-online.co.uk/pub/ruby/1.8/ruby-1.8.5-p114.tar.gz>
그리고 Net::HTTP#enable_post_connection_check= 메서드를 이용해 post_connection_check를 활성화합니다.
http = Net::HTTP.new(host, 443) http.use_ssl = true http.enable_post_connection_check = true http.verify_mode = OpenSSL::SSL::VERIFY_PEER store = OpenSSL::X509::Store.new store.set_default_paths http.cert_store = store http.start { response = http.get("/") }재 사용 중인 패키지 매니저 소프트웨어에서 이 취약점이 이미 해결된 것인지 확인시기 바랍니다..
- 개발 버전(1.9.x)
- 루비를 2006-09-23 이후 버전으로 업데이트세요. 루비 1.9에서 Net::HTTP#enable_post_connection_check 기본값은 true입니다.
변경 사항
- 2007-10-04 16:30 +09:00 enable_post_connection_check 메서드에 해결 방법에 관한 설명이 추가었습니다.
radiantcms.org