|
既知の不具合とその回避方法、制限事項、脆弱性情報など
●Explzh におけるバッファオーバーフローの脆弱性 (2010/6/22)
JVN#34729123
【LZH のコメント付きヘッダの処理において、バッファオーバーフローの脆弱性】
LZH 書庫の拡張ヘッダのコメント付き LHA の処理で、各ファイルへ付加されたコメントの合計文字のバイト数が 32KB 以上の場合にバッファーオーバーフローが発生します。
【想定される影響】
拡張ヘッダのコメントヘッダを利用して細工された LHA 書庫ファイルを処理した場合、任意のコードを実行される可能性があります。
【対策方法】
【その他、補足事項】
- 本脆弱性は、LZH に存在するものではなく、Explzh の内蔵エンジンの処理の問題によるものです。
一連の LZH の脆弱性 JVNVU#545953 とは別の脆弱性です。
設定で UNLHA32.DLL を利用する設定 にしている場合は問題ありません。
- 当サイトで配布している、LHA自己解凍モジュールや Archive Decoder につきましても、本脆弱性はありません。
- Lv0 ヘッダの LZH 書庫においては、拡張ヘッダ自体が存在しないのでこの脆弱性はありません。
- 詳細修正内容は こちら をご覧ください。
【謝辞】
●内蔵圧縮解凍エンジンで操作できるファイルサイズ制限
■4GB 以上の書庫への対応について
4GB を超える書庫への対応 をご覧ください。
■CAB (キャビネット)書庫の圧縮できるサイズの上限
CAB 書庫の圧縮可能サイズの上限は 2GB までです。これはCAB 書庫構造上の仕様です。
2GB 以上となるキャビネットになる場合は自動的に分割書庫として作成されます。
●ACE 形式の圧縮で ACE32.EXE v.2.6 使用した場合、圧縮できない不具合について
ACE 形式の圧縮で ACE32.EXE のバージョン 2.6 を指定している場合、圧縮がおこなえないという不具合を確認しています。(2005/12/8)
Explzh で ACE 形式の圧縮をおこなう場合、レスポンスファイルに圧縮リストを作成して ACE32.EXE へコマンドラインとして渡して実行しています。ACE32.EXE v.2.6 では、このレスポンスファイルを受け取ってくれないバグが存在するようです。
ACE32.EXE v.2.6 より前のバージョンを指定する事で問題なく圧縮を行えますので、ACE32.EXE は v.2.6 より前のバージョンを指定してご使用くださいますようお願いします。
●rk.exe を利用した rk 形式の圧縮の不具合と思われるもの
rk 圧縮時の設定で、3段階の圧縮メソッドと3段階のレベルの組み合わせによっては、解凍できない rk
書庫ができてしまうのを確認しています。(ファイル名文字コードに依存せずに再現)
※具体的には [速度優先]+[Level2] の組み合わせです。
DOS 画面から、直接、rk.exe をコマンドラインから実行して作成した書庫でも再現できるので、rk.exe のバグではないかと認識しています。
この問題については、対処方法はありません。
●指定外の場所へファイルが解凍されてしまう脆弱性
参照:窓の杜のNews記事より
http://www.forest.impress.co.jp/article/2004/07/30/arcsecurity.html
この問題について、v.4.20 以降のバージョンで LZH, ZIP ,CAB 内蔵解凍エンジンで対応、v.4.21で全アーカイバDLL 使用時にも対応しました。
この問題を回避するには、v.4.20 以降のバージョンをお使いください。
■ v.4.19 以前の版を使用の場合、本脆弱性問題への対処方法
- 心当たりのない書庫を展開する場合は必ず書庫の内容をリスト表示して確認する。
ツリー表示されているフォルダの名前が不自然でおかしい(具体的には
".." のみのツリー階層が存在する)ような書庫の場合には解凍はおこなわないようにしてください。
- 「解凍先の指定」ダイアログボックスで「フォルダ構造を無視して展開」をチェックして解凍する。
パス構成は復元されませんので、指定したフォルダ以外へは解凍されません。
※解凍事前に問題の格納フォルダの名前の変更をおこない、問題を回避する事も可能です。
|
|