File::Glob::bsd_glob()
が GLOB_ALTDIRFUNC でメモリエラー (CVE-2011-2728)Encode
decode_xs n-バイトヒープオーバーフロー (CVE-2011-2939)
perl5142delta - perl v5.14.2 での変更点
この文書は 5.14.1 リリースと 5.14.2 リリースの変更点を記述しています。
5.14.0 のような以前のリリースから更新する場合は、まず 5.14.0 と 5.14.1 の違いについて記述している perl5141delta を読んでください。
5.14.0 からの変更点はありません。
File::Glob::bsd_glob()
が GLOB_ALTDIRFUNC でメモリエラー (CVE-2011-2728)未対応フラグ GLOB_ALTDIRFUNC 付きで File::Glob::bsd_glob
を呼び出すと
アクセス違反/セグメンテーションフォルトを引き起こすことがありました。
外部ソースからフラグの値を受け付ける Perl プログラムはサービス不能攻撃や
任意コード実行攻撃に晒されるかもしれません。
今のところ知られている攻撃はありません。
この問題は、未対応フラグを明示的に無効にして、未使用関数のポインタを
null にすることで修正されました。
バグは Clément Lecigne によって報告されました。
Encode
decode_xs n-バイトヒープオーバーフロー (CVE-2011-2939)Encode
のバグによって、入力によっては、ヒープのオーバーフローを
引き起こすことがありました。
この問題は修正されました。
バグは Robert Zacek によって報告されました。
故意に、5.14.0 から互換性がなくなるようにした変更はありません。 もし 5.14.0 との互換性がなければ、それはバグですので、 どうか報告してください。
5.14.0 以降に非推奨になったものはありません。
なし
CPAN はバージョン 1.9600 からバージョン 1.9600_01 に更新されました。
CPAN::Distribution はバージョン 1.9602 から 1.9602_01 に更新されました。
CPAN バージョン 1.9800 からバグ修正をバックポートしました。
dynamic_config
が真の時に CPAN メタファイルから configure_requires
前提条件を適切に検出できるようになりました [rt.cpan.org #68835]
configure_requires
は MYMETA ファイルではなく
META ファイルだけをチェックするようになり、
MYMETA 生成で configure_requires
が失われなくなりました。
Encode はバージョン 2.42 から 2.42_01 に更新されました。
セキュリティ を参照してください。
File::Glob はバージョン 1.12 からバージョン 1.13 に更新されました。
セキュリティ を参照してください。
PerlIO::scalar はバージョン 0.11 から 0.11_01 に更新されました。
$scalar
がコピーオンライトスカラのときに
open my $fh, ">", \$scalar
が動作しない問題を修正しました。
なし
なし
なし
ソケットサイズを修正することで、HP-UX PA-RISC の 64bitall ビルドで テストスイートがパスするようになりました。
Mac OS X 10.7 でのビルドツールが動作するようにビルドシステムが 更新されました。
@INC フィルタ (@INC のサブルーチンによって返されるサブルーチン) で、
$_ の振る舞いが間違っていました: サブルーチンから返されたとき、
コピーされず、変数自身が返されていました; そして (undef *_
による)
$_ の解放によって perl はクラッシュしていました。
これは修正されました [perl #91880]。
Perl 5.10.0 で間違ったロジックが導入され、入力文字列が空のとき、 pack テンプレートの中間にある "U*" が "U0" と等価になっていました。 これは修正されました [perl #90160]。
@DB::args
が最初の caller
呼び出しの後に値が代入されているときに、
caller
を DB パッケージから呼び出してもメモリリークしなくなりました。
Carp がこのバグの引き金を引いていました [perl #97010]。
utf8::decode
には、コピーオンライトスカラの文字列バッファをその場で
(つまりコピーせずに)修正するという扱いにくいバグがありました。
これにより、ハッシュ中に同じキーを持つ二つの要素が出来ていました
[perl #91834]。
tie された変数をローカル化するときに、コピーオンライト文字列を含んでいると 読み込み専用になっていました。
制限ハッシュ (fields プラグマ参照)の要素にコピーオンライトの値が
含まれていると、削除したりクリアしたり (%hash = ()
)
出来なくなっていました。
グロブコピーであるハッシュ要素をロックしても引き続く代入によって グロブを壊さなくなりました。
5.14.0 で導入された正規表現修飾子 /aa
と \b
エスケープシーケンスの
組み合わせによる panic が修正されました [perl #95964]。
以下は、5.12.0 からの退行である、重要な未修正のバグの一覧です。
PERL_GLOBAL_STRUCT
は壊れています。
perl 5.14.0 から、-DPERL_GLOBAL_STRUCT
でのビルドが出来なくなっています。
これにより、現在のところ perl はこの方法でビルドすることが必要な
プラットフォーム (Symbian など)では動作しません。
PERL_GLOBAL_STRUCT
は最近のバージョンの perl では再び
動作するようになっていますが、Symbian で実際に再び
動作するようになっているかは確認できていません。
私たちは Perl を Symbian で動作させている人から話を聞くことにとても 関心を持っています。
Perl 5.14.2 は、Perl 5.14.1 以降、9 人の作者とコミッタによって、 61 のファイルに約 1200 行の変更を加えて、 約 3 ヶ月開発されてきました。
Perl は、活気のあるユーザーと開発者のコミュニティのおかげで 20 年を超えて繁栄しています。 以下の人々が、Perl 5.14.2 になるための改良に貢献したことが 分かっています:
Craig A. Berry, David Golden, Father Chrysostomos, Florian Ragwitz, H.Merijn Brand, Karl Williamson, Nicholas Clark, Pau Amma and Ricardo Signes.
もしバグと思われるものを見つけたら、comp.lang.perl.misc ニュースグループに 最近投稿された記事や http://rt.perl.org/perlbug/ にある perl バグ データベースを確認してください。 Perl ホームページ、http://www.perl.org/ にも情報があります。
もしまだ報告されていないバグだと確信したら、そのリリースに含まれている
perlbug プログラムを実行してください。
バグの再現スクリプトを十分小さく、しかし有効なコードに切りつめることを
意識してください。
バグレポートは perl -V
の出力と一緒に perlbug@perl.org に送られ
Perl porting チームによって解析されます。
もし報告しようとしているバグがセキュリティに関するもので、公開されている メーリングリストに送るのが不適切なものなら、 perl5-security-report@perl.org に送ってください。 このアドレスは、問題の影響を評価し、解決法を見つけ、Perl が対応している 全てのプラットフォームで問題を軽減または解決するパッチをリリースするのを 助けることが出来る、全てのコアコミッタが参加している非公開の メーリングリストになっています。 このアドレスは、独自に CPAN で配布されているモジュールではなく、 Perl コアのセキュリティ問題だけに使ってください。
変更点の完全な詳細を見る方法については Changes ファイル。
Perl のビルド方法については INSTALL ファイル。
一般的なことについては README ファイル。
著作権情報については Artistic 及び Copying ファイル。