パスワードを忘れた? アカウント作成
13619165 story
バグ

さまざまなソフトウェアでのアーカイブファイル展開処理に脆弱性、任意コードの実行を許す可能性 23

ストーリー by hylom
広範囲に影響 部門より
あるAnonymous Coward曰く、

イギリスのセキュリティベンダーSnykが、ZIPなどのアーカイブファイルの展開時における脆弱性について注意喚起を行っている(発表された情報JPCERT/CC窓の杜)。

この脆弱性は「Zip Slip」と名付けられており、アーカイブ内に格納されているファイルのパスを相対パスに設定することで、利用者の意図とは異なる場所にファイルを展開させるというもののようだ。アーカイブファイルを操作するツールの一部ではこういった相対パスで指定されたファイルを検証せずにその場所に展開するものがあり、こういったツールで問題が発生するという。また、こういった問題はZIP以外のファイル形式でも発生する可能性があるという。

すでに複数のベンダーに非公開で報告が行われているとのことで、その多くで対策が実施されているという。影響を受ける製品やそのバージョン、対策状況などは“GitHub”のプロジェクトページで公開されている。

この問題はプログラマ向け情報サイト「StackOverflow」などで公開されている脆弱性のあるサンプルコードがそのまま使われることで拡散したともされている。

関連リンク

  • by Anonymous Coward on 2018年06月11日 16時14分 (#3423196)

    ディレクトリトラバーサルにしろ同フォルダのDLLを読ませる機能にしろ便利な機能を脆弱性扱いして無条件に禁止するのはやめて欲しい。オプションで有効化できれば規定値は無効で良いが。

    ここに返信
    • by Anonymous Coward

      ディレクトリトラバーサルにしろ同フォルダのDLLを読ませる機能にしろ便利な機能を脆弱性扱いして無条件に禁止するのはやめて欲しい。オプションで有効化できれば規定値は無効で良いが。

      いやいや今回のは
      LZH時代でも脆弱性扱いされてた
      懐かしのネタだから

      実装する人も代替わりして久しく
      歴史は繰り返されるというだけの話

      管理権限無いと書き込めないディレクトリがある分
      危険度は当時よりもわずかに軽いかも

      • by Anonymous Coward

        当時から脆弱性扱いして欲しくなかったのですが

      • by Anonymous Coward

        元コメはきっと「..」で親ディレクトリが辿れる機能がけしからん、禁止だ、って方向には行って欲しくないなぁ、って意味だよ。
        「..」とか余計な機能作んなよ、という理不尽で的外れな怒りは自分も覚えがある。

        簡易ウェブサーバみたいなのを作ってて、リクエストされた対象が、公開対象として指定したディレクトリから
        はみ出してるときには確実に蹴れるようなチェックってどうやったら完璧に出来るんだよ、と悩みつつ。

        「..」を含むリクエストを邪悪なリクエストとして蹴れば良いのか、「/」が複数続いてるとルートになるんだっけ、とか色々考えた挙げ句、
        ファイルのパスを作り上げてから、公開対象がその祖先になってるか調べる方法に落ち着いた。

    • by Anonymous Coward

      記事が脆弱性としてるのは、例えば、指定したディレクトリに展開するの機能なのにそういうアーカイブが許可されている、というようなものでは?
      それ自体が解凍ソフトでも無ければ、少なくとも無制限にはこの機能は不要でしょうから、ユーザー入力+eval()=脆弱性みたいなことだと思います。

    • by Anonymous Coward

      コマンドラインとかではデフォルトで相対パス解決が有効になっててもいいけど、ソースコード上では明示的に関数を呼んでやらせない限り勝手なことはしないようにして欲しかったな
      短い関数名にしておけば毎回書くのも大した手間ではないだろうに、無能な働き者が余計な処理を仕込んだせいで、手間が省けるより「お前を消す方法」を探す手間がかかることの方が多くなってしまってる

    • by Anonymous Coward

      同フォルダのDLLを読ませる機能をいつ無条件で禁止した?

    • by Anonymous Coward

      規定値

    • by Anonymous Coward

      関連リンクに無いけど、スラドでも記事になってたのなそれ。

      多くの解凍ソフトに指定外の場所に解凍してしまう脆弱性 [srad.jp]

      どうみても同じネタだよなぁ。中の人が世代交代して脆弱性も繰り返されるのか(しみじみ

    • by Anonymous Coward

      解凍に限らず、どこの誰が指定したのやら分からないパス名を扱うソフトを書くときは、よくよく注意して実装した上、ちゃんとテストしないと駄目な定番のポイントだよね。

      • by Anonymous Coward

        △ どこの誰が指定したのやら分からないパス名を扱う
        ○ どこの誰が指定したのやら分からない入力を扱う

    • by Anonymous Coward

      セキュリティ界隈がイマイチ反応が鈍いと思ってら
      同じ鉄を踏んだだけだったのかw

      近代言語向けに再実装した過程で再度出現したのは面白い事例だな
      横の情報共有は多いけど、縦の情報共有が薄いという証拠になりそう

      • by Anonymous Coward

        だって例えば tar 何てわざわざ警告出すって言うか、デフォルトで勝手にパスを書き換えるくらい解凍するときのパスでやらかした人は多いですから

        他の人も言ってますが飽きてるんですよ

        # tar: Removing leading `/' from member names

      • by Anonymous Coward

        ×同じ鉄
        ○同じ轍

    • by Anonymous Coward

      残念、そこは我々が27年前に通った道だ。
      http://phrack.org/issues/34/5.html#article [phrack.org]

      #仕様が原因だから仕方がない面もある

  • by Anonymous Coward on 2018年06月11日 17時29分 (#3423263)

    スラドの超高齢化であった

    ここに返信
  • by Anonymous Coward on 2018年06月11日 17時57分 (#3423283)

    /etcをフルパスでtarボールにして持って帰ってきた同僚がいたなあ。

    ここに返信
typodupeerror

Stay hungry, Stay foolish. -- Steven Paul Jobs

読み込み中...