[Lha-users] LHAに脆弱性

Back to archive index

Koji Arai jca02****@gmail*****
2007年 4月 26日 (木) 13:19:44 JST


新井です。

07/04/25 に Koji Arai<jca02****@gmail*****> さんは書きました:
> 新井です。
>
> 07/04/23 に Koji Arai<jca02****@gmail*****> さんは書きました:
>
> > |@@ -1066,6 +1079,12 @@ open_old_archive()
> > |       if (open_old_archive_1(archive_name, &fp))
> > |               return fp;
> > |       snprintf(expanded_archive_name, sizeof(expanded_archive_name),
> > |+              "%s." ARCHIVEEXT_OLD, archive_name);
> > |+        if (open_old_archive_1(expanded_archive_name, &fp)) {
> > |+                archive_name = expanded_archive_name;
> > |+                return fp;
> > |+        }
> > |+      snprintf(expanded_archive_name, sizeof(expanded_archive_name),
> > |               "%s.lzh", archive_name);
> > |       if (open_old_archive_1(expanded_archive_name, &fp)) {
> > |               archive_name = expanded_archive_name;
> >
> > ★よくわかりません。
>
> ARCHIVEEXT_OLD というマクロがlha-1.14iオリジナルにも、autoconf版にも
> 存在しないので、どのような拡張子かまだはっきりとしないのですが、
> 拡張子の指定を省略可能にするためのパッチのように思えます。
>
> このパッチはセキュリティに関連するのでしょうか?
> もうちょっと調べますが、このパッチは必要ないと思います。

結局、FC5とSuSEの差が出ているだけのようです。
SuSE版 lha では、拡張子 ".lha" (ARCHIVEEXT_OLD) も
 lha アーカイブとみなすようにしているようですね。

このパッチは必要なしという結論です。

> > |diff -burp FC-5/lha-114i/src/lhext.c /home/lkundrak/lha-114i-SUSE/src/lhext.c
> > |--- FC-5/lha-114i/src/lhext.c  2007-04-16 15:20:23.000000000 +0200
> > |+++ /home/lkundrak/lha-114i-SUSE/src/lhext.c   2007-04-16
> > 15:57:10.000000000 +0200
> > |@@ -360,7 +361,6 @@ extract_one(afp, hdr)
> > |                               }
> > |
> > |                               unlink(bb1);
> > |-                              make_parent_path(bb1);
> > |                               l_code = symlink(bb2, bb1);
> > |                               if (l_code < 0) {
> > |                                       if (quiet != TRUE)
> >
> > ★よくわかりません。
>
> このパッチを適用するとmake testが1件通らなくなることを確認しました。
> 具体的には、以下のようにシンボリックリンクを含むアーカイブに対して、
>
> % touch test
> % ln -s test test-link
> % src/lha c test.lzh test-link
> test-link -> test       - Symbolic Link
> test-link       - Frozen(0%)
>
> 以下の通り展開先ディレクトリ(-w)を指定しての展開ができなくなります。
>
> % src/lha xw=test-dir test.lzh
> LHa: Warning: Can't make Symbolic Link "test-dir/test-link" -> "test"
> LHa: Symbolic Link test-dir/test-link -> test
>
> このパッチはセキュリティに関連するのでしょうか?
> とりあえず、これ以上の情報がない場合は、必要なしと判断します。

これは逆に、FC5の以下のパッチ
  lha-114i-symlink.patch
で、上記不具合を解消しているものが、SuSEとの差分で
リバースパッチとして作成されてしまっているだけのようです。
# つまり、FC5とSuSEの差が出ているだけ

このパッチは必要なしという結論です。

-- 
Koji Arai




Lha-users メーリングリストの案内
Back to archive index