『LHA の脆弱性』その後 (4)...
2006 年 10 月に『LZH 書庫のヘッダー処理における脆弱性について』 (MHVI#20061019) といった専用ページを設けてから 3 年半経ちましたが, 先日ようやく CVE-2010-0098 が公開されました。 該当するのは ZIP 書庫のみですが, ほかの形式であっても事情が同じであることは既知の事実ですから, 個人的には「何を今更…」といいますか, 「(ZIP 書庫すら) まだ対応していないソフトがあったのか」といった印象しか受けません。
それはともかく, 不幸にも件の脆弱性に該当してしまった製品辺りは, ネタに上っていなかった ARJ 書庫 (MHVI#20061019 でネタにしたもの。) についても対応していたりするのですが, その他の製品は「おらんどこ (ベンダー) には関係ねぇだ」とばかりに, ARJ 書庫については そのままですし, LZH 書庫については双方放置だったりします。 ARJ 書庫にチェックを入れるのなら, LZH 書庫にもチェックを入れてほしいところですが, そこまで頭が回らなかったようですね。
自宅や職場 (要は Symantec, トレンドマイクロ, McAfee といった面々。) での状況が全く変わっていないことは自明なのですが, 3 年半も経っていることですし, 現行の製品で再び検証してみました。 ウイルスセキュリティー ZERO 辺りは, 体験版が無くて製品版を手に入れる必要がありましたけれど…。(爆) 結果の一覧については『LZH 書庫のヘッダー処理における脆弱性について (2010 年版)』 (MHVI#20100425) を参照して頂くとして, こちらでは前回との状況の変化などを…。
前段として, さすがに件の問題に起因するバッファーオーバーフローの脆弱性については, 概ね駆逐されたようです。 探せばゴロゴロ出てくるのでしょうが, 少なくとも比較的メジャーなソフトにおいては…。 まぁ, こちらは余談です。
まず, あちらでも書いていますが, ZIP 書庫については CVE-2010-0098 が公開されたことから, 少なくとも手元で調べた限りにおいては すり抜けの発生する製品は無くなりました。 JVNVU#545953 を参照すると解りますが, ESET NOD32 Antivirus 4 や Virus Security ZERO 辺りが ようやく対応したクチです。 メジャーな形式だけに すり抜けは痛いですから, これで少しは安心…できるのかしら? 「出来ないもの」が目の前にあるのと無いのとでは, 気分的に違いそうではありますけれど…。
次に ARJ 書庫についてですが, 一番大きいのは Virus Security ZERO (SOURCENEXT 製品。) が ARJ 書庫に対応した点ですね。 マイナー形式とは言え, 読めるのと読めないのとでは雲泥の差ですから。 それはともかく, エンジンが変わると読み込みバッファーのサイズも変わるのか, 7-Zip 型の処理を行っている (といいますかバッファーサイズをもつ。) ソフトが McAfee 製品だけになってしまいました。 オリジナル型との差は小さいとは言え, 隠蔽等を意図しなくとも, 長文のコメントが入っていれば容易に達するサイズですから, これが扱えないのは地味に影響しそうです。 あと, Norton 組がダメダメなのは相変わらずですね。
ARJ 書庫については, コメント項目の存在を忘れている製品の多いような気がします。 そりゃ, ファイル名項目だけで 2KB 超のヘッダーが構成されていれば「怪しい」ということになりますが, ファイル名が 1 文字だったとしても, 長文のコメントが入っていれば同じなのですから…。 ファイル名項目自体も長いからと言って当該メンバーをスキップするのは少々詰めが甘いです。 オリジナルを始めとして, ARJ 書庫では そのような場合にファイル名を指定して展開できるものが多いですから。(しかもデフォでオン。)
あと, ヘッダー CRC のチェックを行うソフトが意外と多いですが, これも行わないほうが良いのではないかと…。 ARJ 書庫対応ソフトは その殆どが CRC チェックを行いますから そうなっているのだと思いますが, チェックを行わずに扱うソフトが存在する以上, 対策ソフトには CRC が合っていなくとも当該メンバーのチェックを行ってほしいところです。
ちなみに, この ARJ 書庫の すり抜け問題は, CVE-2010-0098 で報告された ZIP 書庫 (部分) の脆弱性と同じものです。 書庫形式と, 当該項目が SZ 形式か (広義での) PASCAL 形式か…といった点が異なるだけです。
最後に LZH 書庫ですが…。 さすがマイナー形式だけあって悲惨な対応状況です。 とは言え, 日本国内市場向けが これではいかんでしょう。 (笑) それはともかく, 一番大きいのは AVG が LZH 書庫に対応した点ですね。 それと, 何気に 7-Zip 型 (すり抜けの発生しないもの。) が増えています。 反対に McAfee 製品は, 少なくともアンチウイルスプラス 10 についてはオリジナル型に改悪されています。 あとは そのまま…と言った感じでしょうか?
あと, LZH 書庫でもヘッダー CRC のチェックを行うソフトが存在します。 が, これは頂けません。 何しろ ARJ 書庫と違って, LZH 書庫では, 7-Zip や WinRAR を始めとした海外起源のメジャー組を始めとして, 意外と多くのソフトがチェックを行わないのですから。 仕様としては 20 年前 (要は最初。) から存在しているわけですが, まぁ, 海外組にとって LZH 書庫とは そんなもの…ということなのでしょう。 国産組でも存在している辺りは「なんだかなぁ」という気がしないでもないですけれど。
国内に限って言えば, 7-Zip 型の処理を行っていなかったり CRC のチェックを行ってしまっていたりした場合は, 「すり抜け」という観点において LZH 書庫に対して無力と言わざるを得ないでしょうね。 普通のソフトで普通に扱える書庫に対して検査が行われないわけですから。
ちなみに, LZH 書庫についても, CVE-2010-0098 で報告された脆弱性と同じです。 全く異なるパターンに見えますが, その実, ヘッダー内の特定項目か拡張ヘッダーか, といった違いでしかありません。
さて, 総論としては「何も変わっていないなぁ」となってしまうわけですが, 今回は IPA ではなく JVN に報告を行っていたりします。 自身が脆弱性情報として公開しているのと同じネタ (要は「すり抜け」。) に対して不受理…というわけには いかないでしょうから。 といいますか, IPA が相手だと, 今でも「性能・機能の問題だ」と言われそうですので。(^^;)
Jun.4,2010 追記
ようやくといいますか, 2 日に返事がありました。 結果は「不受理」。 「ZIP, CAB, 7z 書庫など, 脆弱性情報として公開されている同様のケース (対策ソフト等で検疫が行われない不具合。) と何が異なるのか?」といった質問に対しては未回答でした。 もはや「LZH 書庫なんて知らねーよ」としか解釈できませんので, UNLHA32.DLL, UNARJ32.DLL, LHMelt の開発については中止することとしました。
|