[#44066] Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — Urabe Shyouhei <shyouhei@...>

Hi all.

18 messages 2007/10/04
[#44067] Re: Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — Takahiro Kambe <taca@...> 2007/10/04

こんにちは。

[#44068] Re: Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — Shugo Maeda <shugo@...> 2007/10/04

前田です。

[#44090] Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...>

こんにちは。

19 messages 2007/10/07
[#44091] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — Nobuyoshi Nakada <nobu@...> 2007/10/09

なかだです。

[#44097] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...> 2007/10/10

こんばんは、中田さん。

[#44098] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "U.Nakamura" <usa@...> 2007/10/10

こんにちは、なかむら(う)です。

[#44103] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...> 2007/10/11

こんにちは、中村さん。

[#44104] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — Nobuyoshi Nakada <nobu@...> 2007/10/11

なかだです。

[#44105] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...> 2007/10/12

そうなんですか。

[#44106] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "きむらこういち" <hogemuta@...> 2007/10/12

木村です。

[#44108] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — pegacorn <subscriber.jp@...> 2007/10/12

From: "きむらこういち" <hogemuta@gmail.com>

[#44109] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "Nobuyoshi Nakada" <nobu@...> 2007/10/13

なかだです。

[#44125] ruby-tk with tcltk8.5b1 — Ryutaro Amano <wn9r-amn@...>

天野竜太郎と申します。

14 messages 2007/10/19

[#44147] 2個づつの組を作る方法のすべて — "142QN4969@..." <ohrs@...>

小原と申します。御世話になっています。

15 messages 2007/10/27

[ruby-list:44071] Re: Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix)

From: "NAKAMURA, Hiroshi" <nakahiro@...>
Date: 2007-10-04 13:33:14 UTC
List: ruby-list #44071
Shugo Maeda wrote:
>> さて、net/http.rbには、
>>
>> --- lib/net/http.rb.orig	2007-02-13 08:01:19.000000000 +0900
>> +++ lib/net/http.rb
>> @@ -470,6 +470,7 @@ module Net   #:nodoc:
>>        @debug_output = nil
>>        @use_ssl = false
>>        @ssl_context = nil
>> +      @enable_post_connection_check = true
>>      end
>>  
>>      def inspect
>>
>> といった修正が p111 の後で加えられています。これはこれで特にセキュリティ
>> 上の問題とはならないと考えて良いのでしょうか?
> 
> 1.8では互換性のため、enable_post_connection_checkはデフォルトではfalseに
> なっていますので、チェックを有効にするには
> 
>   http.enable_post_connection_check = true
> 
> のように設定する必要があります。

正確には常にチェックを行い、「不正な証明書である」となった場合に、上記の
値がtrueだと例外で停止。falseだと停止せず、警告だけ出して続行するという
ことですね。RFC2818的には"SHOULD"になってるチェックですが、これは1.8.6、
1.8.5のメンテナの判断、ということでしょうか。

# 事前に知ってりゃこんなフラグなくさせたのに。verify_mode = nilで十分。

ユーザ向け情報: 今回の問題は、以下の人に影響を与えます。

 1. あなたのプログラムまたは依存ライブラリのコードが、SSL接続のために
    net/httpsを使っており、加えて、
 2. そのコードがhttp.verify_modeを明示的にOpenSSL::SSL::VERIFY_PEERに設
    定しており(デフォルトではセキュリティなしのVERIFY_NONE)、加えて、
 3. そのコードがhttp.ca_fileを適切に設定している。

open-uri.rbはこの問題の影響を受けません。なぜなら2と3に該当するものの、
サーバをチェックしているから。

	/	/	/

さて、http.rb以外に、1.8だとimap.rbとdrb/ssl.rbが、trunkだと加えて
smtp.rbとpop.rbが、同じ問題を持っています。pop.rbとimap.rbについては、
以前に田中さんが指摘してたはず。http.rbを問題にしたのであれば、こいつら
も対応が必要です。

で、今日ちょっと、OpenSSLに詳しいゆぞさんと話してたんですが、どうやって
対応しますかね。

A. 問答無用に全部post_connection_checkを追加して回る。
B. どうしても互換性が、という人のために、
   環境変数ENABLE_POST_CONNECTION_CHECKを見て、それが'no'だったら
   チェックしないようにする。
C. 各ライブラリのチーフメンテナに依頼し、それぞれ判断してもらう。

Cは修正が長引くから駄目でしょう。1.8もtrunkも、http.rbを含めてAでいいと
思うんだけどな。どうですかmputさん。


In This Thread