### Micco's Home Page ### Welcome to Micco's page!!
Sorry, but this web page is written in Japanese.
<English>
■ 更新情報
■ このWebページについて
■ お知らせ
■ ダウンロード
■ DLL のインストール方法
■ SFX の設定例
■ いろいろ
対応ブラウザー
[Internet Explorer] [Firefox] [Opera] [Sleipnir] [Safari] [Google Chrome]
連絡先:Micco
[e-mail]
[→『脆弱性情報一覧』] [→Home]

<公開:Sep.25,2006 最終更新:Oct.14,2006>

MHSVI#20060925-03:
UNLHA32.DLL における無限ループの脆弱性

 このページは『gzip における脆弱性の影響について』で記述されている内容を UNLHA32.DLL の脆弱性情報として再構成したものです。


概要

 UNLHA32.DLL は, LZH, LZS 形式に対応した圧縮・展開等の書庫操作を行うライブラリーです。 UNLHA32.DLL には CVE-2006-4338 と同様な無限ループの脆弱性が存在します。

影響を受けるモジュール及びシステム

  • UNLHA32.DLL Ver 2.51.2.9 及びそれ以前
  • 上記を利用しているアプリケーション

詳細情報

 UNLHA32.DLL は, 『統合アーカイバ』の API 仕様に準拠した, LZH, LZS 形式書庫に対して圧縮・展開といった操作を行うためのライブラリーです。 UNLHA32.DLL は主に圧縮・展開等を行うアーカイバーソフトウェアから呼び出される形で使用されますが, 無限ループの脆弱性が含まれており, 細工された書庫ファイルの展開 (を伴う処理) を行うことで, サービス運用妨害 (DoS) 攻撃を受ける可能性があります。

想定される影響

 UNLHA32.DLL を利用しているアプリケーションの動作状況により異なりますが, 無限ループによるサービス運用妨害 (DoS) 攻撃を受ける可能性があります。

対策方法

 最新版 (Ver 2.52b 以降) へバージョンアップを行ってください。 [ダウンロード]

回避方法

  • アプリケーション側で UNLHA32.DLL の使用有無等を行える場合は, UNLHA32.DLL を使用しない, 別の DLL や代替方法を選択する, といった設定を行うことで回避を行うことが可能です。

技術情報

 本脆弱性は, 巧妙に細工された LZH 書庫を展開 (内部的に展開処理を含む操作全般。) することで発生します。 以下の関数に無限ループの脆弱性が存在します:


void read_c_len(void)
{
    short i, c, n;

    n = getbits(CBIT);
    if (n == 0) {
        ...
    } else {
        WORD mask;

        i = 0;
        do {
            mask = 1U << (8 - 1);
            c = g_Decode_HufSHuf_pwPosTable[bitbuf >> (16 - 8)];
            while (c >= NT) {
                if (bitbuf & mask) {
                    c = g_DeEncode_HufSHuf_pwRight[c];
                } else {
                    c = g_DeEncode_HufSHuf_pwLeft[c];
                }
                mask >>= 1;
            }
            ...
        } while (i < n);
        ...
    }
}
	  

 上記関数により, ハフマン法で使用するコード長の符号表を読み込みますが, 不十分な終了条件 (c >= NT) によるループが形成されているため, 非常に偏った枝を構成している (連続して c == g_DeEncode_HufSHuf_pwLeft[c] となるような) 符号が読み込まれることで, 無限ループに陥ります。

更新履歴

  • 脆弱性情報の公開 [Sep.25,2006]
  • 修正版公開に伴う対策情報の更新 [Oct.14,2006]

参考情報

[→Page top] [→『脆弱性情報一覧』] [→Home]