12 February 2008

Linuxセキュリティホール:「注意」なんてものではない

サーバ共有環境では要注意
Linuxカーネルに脆弱性、ローカルからroot権限奪取の恐れ

 2月9日、Linuxカーネルに脆弱性が存在することが明らかにされた。悪用されれば、ローカルユーザーによるroot権限の奪取が可能になる。修正を施したLinuxカーネル 2.6.24.2が2月10日に公開されており、早期のアップデートが推奨される。

 この脆弱性が存在するのは、Linuxカーネル 2.6.17から2.6.24.1まで。Red Hat Enterprise Linux 5やOpenSuSEといった主要なディストリビューションが影響を受ける恐れがある。

 デンマークのセキュリティ企業、Secuniaのアドバイザリーによると、get_iovec_page_array()など複数の関数でパラメータ確認が欠けているという。この結果、細工を施したvmsplice()システムコールなどを介して悪用され、ローカルの攻撃者がroot権限を奪うことも可能になるという。

 なお、この脆弱性はローカルシステムからのみ悪用が可能で、リモートからの攻撃は行えない。このためか、Secuniaでは脆弱性の深刻度を、5 段階中低いほうから2番目の「Less critical」と評価している。しかし、1台のマシンを複数のユーザーで共有している環境などでは注意が必要だ。

http://www.atmarkit.co.jp/news/200802/12/kernel.html

「注意が必要だ」 というような、のんきなものじゃないと思いますけどね。
今年に入って最大限の危機。 地震や洪水ごときで「危機管理」なんて言っている政府も、金融・エネルギー・防衛・公共インフラほとんど全てに使われている最新のLinuxが、「乗っ取られる」可能性があるのに、「危機管理」の一言さえ出さないのは、これ如何に。

まあ、土建国家政府の危機管理なんてそんなもんなんでしょうね。

今年最初の祭りであったWindowsのMS08-001に関連するTCP/IPのセキュリティホールの時も、政府系機関やマスコミからの広報なんて全く無かったし…

ここに実証コードがあったので、最新のFedora 8 で試したところ、あっさりとルート権限を奪取することに成功。


[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.23.14-107.fc8 #1 SMP Mon Jan 14 21:37:30 EST 2008 i686 i686 i386 GNU/Linux
← カーネルのバージョンは 2.6.23

[user@localhost ~]$ gcc exploit5092.c ← 実証コードをコンパイル

[user@localhost ~]$ ./a.out
-----------------------------------
Linux vmsplice Local Root Exploit
By qaaz
-----------------------------------
[+] mmap: 0x0 .. 0x1000
[+] page: 0x0
[+] page: 0x20
[+] mmap: 0x4000 .. 0x5000
[+] page: 0x4000
[+] page: 0x4020
[+] mmap: 0x1000 .. 0x2000
[+] page: 0x1000
[+] mmap: 0xb7f73000 .. 0xb7fa5000
[+] root

[root@localhost ~]# ← あっさりと、root