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

sudoに10年近く前から存在した脆弱性が修正される 46

ストーリー by headless
修正 部門より
sudoに10年近く前から存在したヒープベースのバッファーオーバーフロー脆弱性(CVE-2021-3156)がsudo 1.9.5p2で修正された(Sudo Stable ReleaseQualys Security AdvisoryThe Registerの記事BetaNewsの記事)。

発見者のQualysが「Baron Samedit」と名付けたこの脆弱性はsudoが引数のエスケープを処理する方法に存在し、「sudoedit -s」コマンドにエスケープされていないバックスラッシュで終わる引数を指定して実行することによりヒープベースのバッファーオーバーフローが引き起こされる。この脆弱性を悪用することで、任意のユーザー権限の攻撃者がroot権限を取得できる可能性があるという。

脆弱性が導入されたのは2011年7月で、sudoのレガシー版1.8.2~1.8.31p2および安定版1.9.0~1.9.5p1が影響を受ける。上流では安定版のみが修正されているが、レガシー版を同梱するLinuxディストリビューションでは個別に修正が行われている。
  • by Anonymous Coward on 2021年01月30日 15時45分 (#3969299)

    去年の今頃にも全く同じようなことがあったらしいが(関連ストーリーに出てるけど)
    sudoに10年以上前から存在した特権昇格の脆弱性が修正される [it.srad.jp]
    まるで成長していない…(安西先生略

    ここに返信
    • by Anonymous Coward

      前回のは額縁に入れて飾りたいようなコピペの失敗だったけど、今回はどうなんだろ。

    • by Anonymous Coward

      まるで成長していない…(安西先生略

      この一年の間に作りこんだ不良だと思ってるの?

      • by Anonymous Coward

        10年近く前って書いてるのになんでそんなこと思うの?
        10年以上も前の脆弱性が見つかってもコードの再検査も静的解析の導入も何もしないで1年後にまったく同じ過ちを繰り返してるんだからまるで進歩がないだろ。

  • by Anonymous Coward on 2021年01月30日 16時07分 (#3969312)

    sudo教授がセキュリティ研究を行ったのであった。

    東京大学、「SISOC-TOKYO」を設置 セキュリティ研究・政策提言を実施
    須藤教授、安田教授らが立ち上げ
    https://www.sbbit.jp/article/cont1/30042 [sbbit.jp]

    ここに返信
  • by Anonymous Coward on 2021年01月30日 16時17分 (#3969315)

    もう速度重視でないプログラムにCやCPP20辞めたらどうですか、根本的な解決にはならないとしても
    自分の足を撃っている事に、10年も気づかないのは致命的すぎますよ、呆れ・・・

    // Rustが全てでは無いが、同様にCが全てとは限らない

    ここに返信
    • 良くも悪くもCはその出自からUNIX(POSIX) APIと親和性が高いから
      システムプログラミングはやりやすいんだよね。
      バイナリサイズも小さいし。この辺書き直すなら Go か…?
      インタプリタで良ければ perl あたりも C 的だけど、perl に限らずスクリプト系はバージョン差異に悩まされるんだろうなぁ。

      --
      [Q][W][E][R][T][Y]
      • by Anonymous Coward

        基幹のコマンドなら最新版を使う必要はなくて、perlなら5.005でいい。システムレベルで漢字/Unicodeを使う必要もなく、5.6移行は不要、かつ罠にはまってセキュリティ的にむしろ危ない。

        • by Anonymous Coward

          で、セキュリティ脆弱性を踏むと

    • by Anonymous Coward

      まずはsystemd-sudo が登場するのを待ってください。

      • by Anonymous Coward

        systemdもCじゃなかったら起こらない感じの特権昇格バグが発見されたときに
        「Cである必要ないところは、rustかなんかで作れよ」と言われたけど
        「うっせボケ」で済ましていたので、systemd-sudoも絶対Cで書かれるよ。

    • by Anonymous Coward

      俺もそう思うけど、書き直す人がいないので。

    • by Anonymous Coward

      そう思うなら自分で代替品を作ればよいのでは?
      OpenSSLのHeartbleedのときもLibreSSLができたし。

      • by Anonymous Coward

        まあ、代替品としてはdoasがすでにあるんですけどね
        C言語だったと思うけど

    • by Anonymous Coward

      何で組もうが脆弱性はできるからしょうがない

      • by Anonymous Coward

        バッファオーバーフローは、現代的な言語では仕組み的に作り込むのが困難でしょ。

        • by Anonymous Coward

          そのせいでレガシィなコードを単純に移植しようとすると「これはセキュリティ的に許されない」とエラーになって、再設計が必要になったりする。
          再設計後に互換性が維持できてるかどうかのチェックも大変。

    • by Anonymous Coward

      そんな大プロジェクトを軽々しく言われても困る。

      • by Anonymous Coward

        まあ自分で作れない人ほど軽々しく言いがちなものだから...

    • by Anonymous Coward

      いつまで言われても実際そうなっていかないんだから、
      嘆くのは外野ばかりで当事者はそう思わないんだろう

    • by Anonymous Coward

      ランタイムが付いてくる言語だとランタイムの運用が必要になるってのと、
      ランタイムの容量がどっかに必要ってのが思いつく。

      前者は脆弱性対応や非互換対応で他者起因でコードを修正しないといけなくなるし、
      後者はWindows版GoでHello World書くとexeファイルが2MBくらいになる。

      • by Anonymous Coward

        ランタイムのバグを突かれるのは普通にありうるよね

    • by Anonymous Coward

      sudo とかのレベルになると性能が要らないとは限りませんよ。プログラム中でループで毎秒何十回も呼ばれる処理で使われてたりする可能性あるし。

      • by Anonymous Coward

        毎秒何十回って、性能が要らないって言っているようなものじゃないですか。

    • by Anonymous Coward

      言語が悪いんではなく使い方(規約)が悪い。
      C/CPPで書け、の強制も規約の一つですけどね。

  • by Anonymous Coward on 2021年01月30日 17時57分 (#3969351)

    どう読めばプログラマっぽくて、
    どう読めば素人っぽい?

    ここに返信
    • by Anonymous Coward on 2021年01月30日 20時21分 (#3969406)

      プログラマ: 「sudo」
      素人: 「sudo」

      • by Anonymous Coward

        なるほどな、今度から「sudo」って読んどくわ
        そのほうがそれっぽいもんな

    • by Anonymous Coward

      公式 https://www.sudo.ws/sudo/troubleshooting.html [www.sudo.ws] によると

      Q) How do you pronounce `sudo'?
      A) The official pronunciation is soo-doo (for su "do"). However, an
            alternate pronunciation, a homophone of "pseudo", is also common.

      が正しい発音であるが、「エスユードゥー」 と発音している人はたまにいる
      コマンド名の成り立ちから言えばエスユードゥーは直感的ではある

  • by Anonymous Coward on 2021年01月30日 23時56分 (#3969518)

    これには須藤リカもニッコリ

    ここに返信
typodupeerror

UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie

読み込み中...