Linux カーネルに権限昇格の脆弱性、広範囲に影響か 61
ストーリー by reo
いそげー 部門より
いそげー 部門より
ozuma 曰く、
Linux カーネルに権限昇格の脆弱性が見つかり、注意が呼びかけられている (CVE-2013-2094より) 。
perf_event_open システムコールを利用することで一般ユーザが root を取得できる。対象はカーネル 2.6.37 から 3.8.9 までだが、カーネル 2.6.37 未満であっても、ディストリビューションによっては最新カーネルからのバックポートによりこの脆弱性の対象となっているものがあり注意が必要だ。原因は、kernel/events/core.c 内の perf_swevent_init 関数で event_id を取得する際に、不適切なデータ型を利用 (全ての bit を適切にチェックせずに u64 型を int 型で受け取った) ことによるもの。
既にエクスプロイトコードが出回っており、実際に Redhat Linux や CentOS、Ubuntu で一般ユーザから root 昇格できることが確認されていることから、今後このコードを用いた攻撃が行われることが予測される。各ディストリビューションからは緊急の Update がリリースされ始めており、早い対応が必要となりそうだ。
RHELへの影響と対応状況 (スコア:5, 参考になる)
中の人です。
この問題に限らず関連する脆弱性について、Red Hatのサイトで正式なステートメントをCVE IDごとに確認できます。
https://access.redhat.com/security/cve [redhat.com]
今回のものはここ: https://access.redhat.com/security/cve/CVE-2013-2094 [redhat.com]
現在のステートメントをみると、RHEL5とRHEL6.0には影響なし、RHEL6とRHEL6.3 EUSについては対策出荷済み、
RHEL6.1, 6.2, MRG2 Realtime kernelについては対策中とのこと。
Re:RHELへの影響と対応状況 (スコア:2)
RHEL6は、6というメジャーリリース(の最新)です。このあいだRHEL6.4がでています。
それとは別に、新しいアップデートリリースが出たあと、過去のアップデートリリースを維持してメンテナンスだけを提供するサービスをおこなっています。RHEL6.0, 6.1, 6.2, 6.3というのはそちらに対応します。
EUS(extended update support) add-onや一部のOEMから出荷されているミッションクリティカル向けのサポートプログラムで利用できます。
このあたりについてまとめたスライドを公開していますので見ていただけるとわかりよいかと思います: http://www.slideshare.net/moriwaka/red-hat-enterprise-linux-15711124 [slideshare.net]
ディストリビューションによる? (スコア:2)
https://access.redhat.com/security/cve/CVE-2013-2094 [redhat.com]
見ると、
This issue does not affect the kernel packages as shipped with Red Hat Enterprise Linux 5 because we did not backport upstream commit b0a873eb that introduced this issue.
って書いてあるんで、RHEL5は平気…なんですかね?
Re:ディストリビューションによる? (スコア:3, 参考になる)
※CentOS 6も
このことがexploitのコメントにも書かれていて涙目。
Re:ディストリビューションによる? (スコア:2)
アイエッ!?
すみません。それ何処見れば分かりますかね? > CentOS5
RedHatのBugzilaだったら16時までメンテナンスで見れないっぽい…。
Re:ディストリビューションによる? (スコア:3)
再確認しました。
この脆弱性はCentOSのカーネル2.6.32にbackportされている、が正解っぽい。
なので、CentOS 5が必ずしも対象になるとは限らない模様。CentOS 6は対象。
混乱させてすまぬ・・・すまぬ・・・
たまたま確認したCentOS 5がカーネルバージョンアップされていたみたい。
ソースは提示したいけどexploitなのでとりあえずやめとく。
関連ワードで検索すれば出てくる。
Re:ディストリビューションによる? (スコア:2)
あー。なるほど。有難うございました。
もうちっと調べてみます。そろそろBugzilaも戻るはずですし…。
Re:ディストリビューションによる? (スコア:1)
セキュリティホール memo [ryukoku.ac.jp]より
[CentOS-announce] CESA-2013:0830 Important CentOS 6 kernel Update [centos.org]
CentOS 6 の場合、kernel-2.6.32-358.6.2.el6 にアップデートされていれば対応済みということでいいのかな。
# SlashDot Light [takeash.net] やってます。
Re:ディストリビューションによる? (スコア:2)
RHEL5はperfがないから平気
Re:ディストリビューションによる? (スコア:1)
Androidのndkアプリが昇格可能か気になります
Re: (スコア:0, オフトピック)
同感。
ってかもし可能なら、メーカーキャリアが絶賛放置中の型遅れandroidが絶好の攻撃対象になりますね。
Re: (スコア:0)
え、これなんでマイナスモデされてんの?
2年前くらいのandroidとか普通に使ってる人いるでしょ。
Re: (スコア:0)
だれか分かる人いない?
心配なんだが
Re:ディストリビューションによる? (スコア:1)
root化手段が減るのは心配だよねぇ
# 脆弱性と公認されずともぶっこ抜きは日常茶飯事ですもの
Re: (スコア:0)
Androidってコンソールにおりて、unameを叩けないの?
Re:android (スコア:0)
システムコール叩けば権限昇格できる可能性は高そうですね。
u64型をint型で受け取った (スコア:1)
的外れなこと書いていたらすみません。
> 全ての bit を適切にチェックせずに u64 型を int 型で受け取った
コードは
u64 event_id = event->attr.config;
/* configはint型 */
のようなので、型が逆なのでは。
Re:u64型をint型で受け取った (スコア:2)
Linuxなんてロクに知らないし、大して調べていないけど。
v2.6.34.14: perf_event.h [kernel.org]
Re: (スコア:0)
あなたがLinuxをろくに知らない事だけは良く分かりました。
Re:u64型をint型で受け取った (スコア:1)
それは修正後のコード
修正前は
int event_id = event->attr.config;
その後に。
if (event_id >= PERF_COUNT_SW_MAX)
return -ENOENT;
と符号なし整数の前提でエラー処理がされている。
(オフトピ)まだこの実装なのね。 (スコア:1)
システムコールが-1以外に、[-2、-ERRNO_MAX]相当の値を返せない。
#通常のシステムコールはそんな値を正常応答として返さないというのはありますが。
Re: (スコア:0)
それはfix後ですね。
https://github.com/torvalds/linux/commit/8176cced706b5e5d1588758415076... [github.com]
SUSE の情報が… (スコア:1)
なんか誰も SUSE について書いていないようなので…
ahref=http://support.novell.com/security/cve/CVE-2013-2094.htmlrel=url2html-8552 [slashdot.jp]http://support.novell.com/security/cve/CVE-2013-2094.html>
SLES11 SP2 以降を使っている人は影響を受ける、は判ったけど、これを読んでも「あと、OpenSUSEも」の部分は、「OpenSUSEのどれよっ?!」がよく判らなかった。
fjの教祖様
Re:SUSE の情報が… (スコア:1)
あれ…URLが壊れた…
http://support.novell.com/security/cve/CVE-2013-2094.html [novell.com]
fjの教祖様
古い言語・コンパイラ (スコア:0)
こういう騒ぎを見るとさすがにCは古いと思ってしまう
大昔と違ってプロセッサの処理能力はジャブジャブあり余っているのだから、厳密な型変換を強制されたり、デフォルトで配列の境界チェックをするような言語・コンパイラをみんなが使えば良いのに............
そういう言語・コンパイラの仕様に合わせた型チェックなどのための機能を持つプロセッサがあっても良いだろうし...........
(まあ今あるもの変えることなど不可能だし、再び高級言語マシンの夢を見ること自体が古いと言われればそうだが)
Re:古い言語・コンパイラ (スコア:2)
型の概念は無い方が安全でしょ。
Re:古い言語・コンパイラ (スコア:2)
訂正。
暗黙の型変換が無ければいい。
Re: (スコア:0)
あんたはうっかり発言が多いからもっと注意しなさい。
Re: (スコア:0)
貴重なヲチ対象はそっとしておこうよ
Re: (スコア:0)
貴重でも何でもねーよw
#しばしばヲチ対象がぶつかり合って南海の怪獣大決戦になるこのご時世になにを言ってるのだか。
Re:古い言語・コンパイラ (スコア:2, すばらしい洞察)
Cが古いことには異論ありませんが、
>プロセッサの処理能力はジャブジャブあり余っているのだから
有り余ってない環境でも動かす目論見があるからCで書いているわけで
Re: (スコア:0)
ビルド環境くらいは計算リソースが潤沢な環境想定しても許されるんでは?
(まあ、確かに、仕事で使ってる開発環境はPentiumIIIですが)
Re: (スコア:0)
ランタイムチェックと静的解析で話がかみあってない気がします。
Re:古い言語・コンパイラ (スコア:1)
頑張って作られてるはずのJavaVMからもしばしば脱出方法が見いだされてますし、カーネルぐらいは頑張って作る、っちゅうのでも大差ないのかと。
Re: (スコア:0)
OSを高級/安全な言語で書いたら言語ランタイムにセキュリティーホールが見つかるんですね
Re: (スコア:0)
コンパイル時にワーニングなりエラーなり出なかったのはなんでなんだろ?
Re:古い言語・コンパイラ (スコア:1)
そこがちょっと疑問ですね。
普通のコンパイラならwarningだと思うんですけど、それが明示的に抑止/無視されてたとすれば
元コメの言うような大仰な牛刀を以ってしても同じヒューマンエラーに遭遇してたことでしょう。
Re: (スコア:0)
gccはデフォルトで警告ださないよ。
Re: (スコア:0)
スター・ワーズ エピソード1/ファントム・メナス
スター・ワーズ エピソード2/クローンの攻撃
スター・ワーズ エピソード3/シスの復讐
Re: (スコア:0)
高級アセンブラCにおいて、変数は数値でなく、数値としても扱えるオンとオフの羅列。
Re: (スコア:0)
Smalltalkはいつでもアップ完了ですよ!
Re: (スコア:0)
しかし、その言語・コンパイラ(及びランタイムの実行環境とライブラリ)を書くための言語は、めぐりめぐって最終的にはCになるんではないでしょうか。
で、そのランタイムの実行環境とライブラリに脆弱性が見つかると。
JavaとAcrobat Readerのことですが。
Re: (スコア:0)
その言語のコンパイラを、その言語自身で書くというgcc方式でいいんじゃないですか?
Re: (スコア:0)
今回のバグはTrinityというシステムコール ファジングツール [wikipedia.org]によって発見されたらしいです。
それ以外にも、LinuxカーネルはCoverityによる静的解析やCoccinelleによるパターンチェックなど多くの自動検証が行われていますが、
それでもまだ足りないということでしょうかね。
オプソは危険 (スコア:0)
やはりオプソは危険だった
世界中のハッカーに狙われている
もしかするとハッカーの作った悪意あるコードも紛れ込んでいるかもしれない
そう考えると恐ろしい
Re: (スコア:0)
やはりオプソは安全だった
世界中のハッカーに守られている
クラッカーの作った悪意あるコードが紛れ込んでいないかを調べて排除できる
そう考えると安心だ
また勝ってしまった、敗北を知りたい (スコア:0)
安定板で使っていてさえ3.8.13
開発版なら3.9.2…
いつものことながらArchやGentooにはまったくもって関係ない話だった(笑)
# ショボいディストリ使ってる情弱の方々は、毎度毎度大変ですねwww
Re:また勝ってしまった、敗北を知りたい (スコア:2)
タイトル、バキネタなんだろうけど、元ネタがうざいだけあってウザイwwww
おこらせたらごめんなさいね。
新人。プログラマレベルをポケモンで言うと、コラッタぐらい
Re: (スコア:0)
こちらもVPSに入れているGentooのカーネルを、つい数日前に3.8.13にアップしていました。どのパッケージもそうですが、メンテナの方々には頭が下がります。たまに、先走りすぎてしまうことがあるのがたまに傷ですが。
例えば、ほんの短い期間だけapacheの2.4系が安定版としてリリースされたのですが、すぐに2.2系にもどりました。認証関係の書式が代わったりして、すべて対応してしまった後にダウングレードになったので、2.4系で動かしつつ2.4系が安定版でリリースされるのを待っています。
ところで、今回の問題ですが、
General se
Re: (スコア:0)
ごめんなさい、「たまに」がひらがなだと、そういう意味にとれるのですね。まった意識していませんでした。意味的には、たぶん正しくイメージしていたのですが、変換が変なところで切れて、そのまま「傷」も間違った変換して、特に考えもなしにポチッとしてしまいました。