sudoに10年近く前から存在した脆弱性が修正される 46
ストーリー by headless
修正 部門より
修正 部門より
sudoに10年近く前から存在したヒープベースのバッファーオーバーフロー脆弱性(CVE-2021-3156)がsudo 1.9.5p2で修正された(Sudo Stable Release、 Qualys Security Advisory、 The 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ディストリビューションでは個別に修正が行われている。
発見者のQualysが「Baron Samedit」と名付けたこの脆弱性はsudoが引数のエスケープを処理する方法に存在し、「sudoedit -s」コマンドにエスケープされていないバックスラッシュで終わる引数を指定して実行することによりヒープベースのバッファーオーバーフローが引き起こされる。この脆弱性を悪用することで、任意のユーザー権限の攻撃者がroot権限を取得できる可能性があるという。
脆弱性が導入されたのは2011年7月で、sudoのレガシー版1.8.2~1.8.31p2および安定版1.9.0~1.9.5p1が影響を受ける。上流では安定版のみが修正されているが、レガシー版を同梱するLinuxディストリビューションでは個別に修正が行われている。
デジャブ (スコア:1)
去年の今頃にも全く同じようなことがあったらしいが(関連ストーリーに出てるけど)
sudoに10年以上前から存在した特権昇格の脆弱性が修正される [it.srad.jp]
まるで成長していない…(安西先生略
Re: (スコア:0)
前回のは額縁に入れて飾りたいようなコピペの失敗だったけど、今回はどうなんだろ。
Re: (スコア:0)
まるで成長していない…(安西先生略
この一年の間に作りこんだ不良だと思ってるの?
Re: (スコア:0)
10年近く前って書いてるのになんでそんなこと思うの?
10年以上も前の脆弱性が見つかってもコードの再検査も静的解析の導入も何もしないで1年後にまったく同じ過ちを繰り返してるんだからまるで進歩がないだろ。
一方、東大では (スコア:1)
sudo教授がセキュリティ研究を行ったのであった。
東京大学、「SISOC-TOKYO」を設置 セキュリティ研究・政策提言を実施
須藤教授、安田教授らが立ち上げ
https://www.sbbit.jp/article/cont1/30042 [sbbit.jp]
ヒープベースのバッファーオーバーフロー (スコア:1, すばらしい洞察)
もう速度重視でないプログラムにCやCPP20辞めたらどうですか、根本的な解決にはならないとしても
自分の足を撃っている事に、10年も気づかないのは致命的すぎますよ、呆れ・・・
// Rustが全てでは無いが、同様にCが全てとは限らない
Re:ヒープベースのバッファーオーバーフロー (スコア:1, 参考になる)
良くも悪くもCはその出自からUNIX(POSIX) APIと親和性が高いから
システムプログラミングはやりやすいんだよね。
バイナリサイズも小さいし。この辺書き直すなら Go か…?
インタプリタで良ければ perl あたりも C 的だけど、perl に限らずスクリプト系はバージョン差異に悩まされるんだろうなぁ。
[Q][W][E][R][T][Y]
Re: (スコア:0)
基幹のコマンドなら最新版を使う必要はなくて、perlなら5.005でいい。システムレベルで漢字/Unicodeを使う必要もなく、5.6移行は不要、かつ罠にはまってセキュリティ的にむしろ危ない。
Re: (スコア:0)
で、セキュリティ脆弱性を踏むと
Re: (スコア:0)
まずはsystemd-sudo が登場するのを待ってください。
Re: (スコア:0)
systemdもCじゃなかったら起こらない感じの特権昇格バグが発見されたときに
「Cである必要ないところは、rustかなんかで作れよ」と言われたけど
「うっせボケ」で済ましていたので、systemd-sudoも絶対Cで書かれるよ。
Re: (スコア:0)
俺もそう思うけど、書き直す人がいないので。
Re: (スコア:0)
そう思うなら自分で代替品を作ればよいのでは?
OpenSSLのHeartbleedのときもLibreSSLができたし。
Re: (スコア:0)
まあ、代替品としてはdoasがすでにあるんですけどね
C言語だったと思うけど
Re: (スコア:0)
何で組もうが脆弱性はできるからしょうがない
Re: (スコア:0)
バッファオーバーフローは、現代的な言語では仕組み的に作り込むのが困難でしょ。
Re: (スコア:0)
そのせいでレガシィなコードを単純に移植しようとすると「これはセキュリティ的に許されない」とエラーになって、再設計が必要になったりする。
再設計後に互換性が維持できてるかどうかのチェックも大変。
Re: (スコア:0)
そんな大プロジェクトを軽々しく言われても困る。
Re: (スコア:0)
まあ自分で作れない人ほど軽々しく言いがちなものだから...
Re: (スコア:0)
いつまで言われても実際そうなっていかないんだから、
嘆くのは外野ばかりで当事者はそう思わないんだろう
Re: (スコア:0)
ランタイムが付いてくる言語だとランタイムの運用が必要になるってのと、
ランタイムの容量がどっかに必要ってのが思いつく。
前者は脆弱性対応や非互換対応で他者起因でコードを修正しないといけなくなるし、
後者はWindows版GoでHello World書くとexeファイルが2MBくらいになる。
Re: (スコア:0)
ランタイムのバグを突かれるのは普通にありうるよね
Re: (スコア:0)
sudo とかのレベルになると性能が要らないとは限りませんよ。プログラム中でループで毎秒何十回も呼ばれる処理で使われてたりする可能性あるし。
Re: (スコア:0)
毎秒何十回って、性能が要らないって言っているようなものじゃないですか。
Re: (スコア:0)
言語が悪いんではなく使い方(規約)が悪い。
C/CPPで書け、の強制も規約の一つですけどね。
ところで (スコア:0)
どう読めばプログラマっぽくて、
どう読めば素人っぽい?
Re:ところで (スコア:1)
プログラマ: 「sudo」
素人: 「sudo」
Re: (スコア:0)
なるほどな、今度から「sudo」って読んどくわ
そのほうがそれっぽいもんな
Re: (スコア:0)
公式 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.
が正しい発音であるが、「エスユードゥー」 と発音している人はたまにいる
コマンド名の成り立ちから言えばエスユードゥーは直感的ではある
sudo rm -rf / --rika (スコア:0)
これには須藤リカもニッコリ
Re:Debianはこれだから (スコア:3, 参考になる)
1.9.5p2 は修正済みのバージョンじゃないですか?
https://www.sudo.ws/stable.html#1.9.5p2 [www.sudo.ws]
https://security-tracker.debian.org/tracker/source-package/sudo [debian.org]
Re:Debianはこれだから (スコア:1)
セキュリティパッチだけはバックポートされるからバージョン番号だけでは判断できない
Re: (スコア:0)
testingかunstableでしょ。それ。
セキュリティを気にするならリリース版を使ってください。
Re: (スコア:0)
Sudo version 1.9.5p2
うん、枯れているね!
ところで何を上げるの?
Re:まだsudoなんて使ってるの? (スコア:1)
Solarisですけど、うちsudoなんて使ってないですよ。
Re: (スコア:0)
素のsuですよね。
Re: (スコア:0)
>>sudoが優れ居ているのは理論面だけで、実装も運用も脆弱性を増すだけのjunk
ごめんなさい。ちょっと難しくて意味が解らない。実装が悪いってのは脆弱性もあったし否定は出来ないけど。不用意な操作で死なないように必要な時だけsudo使う運用ってそんなにダメなの?そういう定説があるの?同じように、必要な時だけsu使えって話?だと、運用のクソなら影響は変わらなくない?
Re: (スコア:0)
runasはWindows版sudoじゃ。
一部例外を除いてLinix環境で使えないのに移行って言われても。
root shell云々は、sudoが実装された経緯を知ってたら出てこない発想だと思うのだけどね。
Re: (スコア:0)
runasはもしかしたらdoasと間違えていないか?と思った。OpenBSD 20周年、5.8 リリース、sudoに代わる「doas」コマンドやpledgeセキュリティシステム導入 [opensource.srad.jp]
Re: (スコア:0)
脱っするのか
Re: (スコア:0)
Windowsは7からすでに権限ベースに移行してるし、別コメントにもあるけど、SolarisにはRBAMというものが10年前からある。
Linuxだけがsudoにしがみついてる。安心していいよ。