【速報】Linuxに脆弱性 ディレクトリのパス名に1GB以上書くとroot権限を奪取できてしまう [323057825]



1 ::2021/07/22(木) 06:49:21.45 ID:oMNpUKD90●.net ?PLT(13000)
https://img.5ch.net/ico/syodai_mona.gif
Linuxカーネルにおいて、権限の昇格が生じる脆弱性「CVE-2021-33909」が明らかとなった。各ディストリビュータよりアップデートが展開されている。

バッファの割り当てが適切に行われておらず、域外への書き込みが可能となる脆弱性「CVE-2021-33909」が明らかとなったもの。Qualysが発見、報告した。

2014年7月以降に存在した脆弱性で、パス長が1Gバイト超のディレクトリ構造を作成し、マウント、削除を行うことで、root権限を取得することが可能だという。「Ubuntu」「Debian」「Fedora」など複数のディストリビューションで実際にroot権限を取得できることを確認したとしている。

同社は、6月9日に関係者のメーリングリストをホストするRed Hatに報告。調整を経て7月20日に脆弱性を公開した。
各ディストリビューションではアップデートなど対応を進めている。

Linuxカーネルにroot権限を取得できる脆弱性 – 1Gバイト超のパス長処理で
https://www.security-next.com/128357

124 ::2021/07/22(木) 08:57:45.68 ID:lVq59W220.net

>>116
バカなの?

79 ::2021/07/22(木) 07:54:30.65 ID:cspoj9ty0.net

一秒間に十六文字として、361.6898148148148日で約一年ぐらいか

211 ::2021/07/22(木) 14:45:22.51 ID:aXY4jX3r0.net

パス名だけで二次記憶装置の容量ぱんぱんとか
どんだけレアな状況だよ

154 ::2021/07/22(木) 10:29:10.68 ID:NAU9m/rZ0.net

ファイル名を引っ張ってきてエンコード掛けたらあうろり動画になるとかよもまつだな

195 ::2021/07/22(木) 13:07:34.12 ID:hW/o9d6S0.net

昔はコンパイラ(やアセンブラ等)で制限(制約?)があったからのぅ

33 ::2021/07/22(木) 07:15:43.03 ID:G1kYF74A0.net

>>7
仕様上mkdirでパスを無限に長くできて、途中でuint64がintに変換されててそこでなんかうまいことやるとroot権限を取得できるみたいな話だから当然root権限は要らない
たぶん

156 ::2021/07/22(木) 10:29:46.16 ID:yE4lKBzT0.net

セキュリティ対策でそんなに深いディレクトリ構造にしてるん?

120 ::2021/07/22(木) 08:49:58.02 ID:uTdgkp3t0.net

>>119
1GBは何byteか聞いてるようなもんやんけ
調べろや

47 ::2021/07/22(木) 07:25:56.43 ID:+oiJZMVw0.net

そんなディレクトリ参照したらPC止まりそう

205 ::2021/07/22(木) 13:49:22.07 ID:JHs6LzWd0.net

>>173
プークスクス

143 ::2021/07/22(木) 10:07:22.93 ID:1FtPezA50.net

>>114
パルパティーンみたいだな

187 ::2021/07/22(木) 12:05:02.18 ID:MKO0EeBc0.net

フルパスで1GB超だろ
まあ深さも何処かで制限しておかないとダメだろうな
対策はどうしたのかな?
フルパス長を制限したのかな?

39 ::2021/07/22(木) 07:20:56.82 ID:44OAesuV0.net

3日くらい前にメイン機のubuntuぶっ壊れたのはこれのせいか

138 ::2021/07/22(木) 09:48:48.81 ID:5B6Fs3fh0.net

>>135
ファイル名にバイナリが使えないと誰が言った?

145 ::2021/07/22(木) 10:14:46.29 ID:DbqR5LcA0.net

>>1
640KBの壁はないんか?

222 ::2021/07/23(金) 01:32:54.07 ID:lCVMecV60.net

>>203
データベースとかアプリケーションとか
もともと糞長の数字羅列で何階層もフォルダ作ったりするし
それの応用というかコピペ繰り返してけば簡単に作れるぞ
試すやつがいなかっただけだ

52 ::2021/07/22(木) 07:29:57.40 ID:8CJJYyz+0.net

パスに動画保存できないやん

201 ::2021/07/22(木) 13:21:39.95 ID:Tyauza2Q0.net

>>189
やめろ

28 ::2021/07/22(木) 07:12:18.09 ID:9XHz7qIY0.net

$ uname -v
#1 SMP Debian 4.19.194-3 (2021-07-18)

https://security-tracker.debian.org/tracker/CVE-2021-33909
fixedだった

235 ::2021/07/23(金) 19:28:17.29 ID:/iV6lxm50.net

パス名1GBって、1GB未満のファイルならファイルそのものよりもパス名が長くなるってことだよな

229 ::2021/07/23(金) 14:57:29.39 ID:vL0JGZ4q0.net

つうか、どうやってんな長い名前打ち込むんだよ
その時点でセキュリティー以前の問題だろ

134 ::2021/07/22(木) 09:28:06.60 ID:xZTz8OYy0.net

ディレクトリ名で会社の悪口を残していく奴とか出そうだなw

89 ::2021/07/22(木) 08:04:24.52 ID:pXnue8tm0.net

コマンドでディレクトリの移動とか大変だな(笑)

210 ::2021/07/22(木) 14:44:43.77 ID:JvCIlTMc0.net

オレのぽえりなはどうなるんだ

95 ::2021/07/22(木) 08:16:04.57 ID:apMKayK00.net

Root権限無しにディレクトリ構造を作成し、マウント、削除を行うことは出来るのか?

199 ::2021/07/22(木) 13:14:29.30 ID:ghfY7jSq0.net

じゅげむじゅげむ・・

18 ::2021/07/22(木) 07:06:47.59 ID:98KvYm1E0.net

日本はFAXとハンコの国だから関係なし

214 ::2021/07/22(木) 16:23:55.99 ID:NAU9m/rZ0.net

root権限奪えるって言っても
そのくそながディレクトリを作成、マウント、削除をされる時点でセキュリティとは…ってならんかとは思わんことはない
他の大抵のことはされそうな気がする

214 ::2021/07/22(木) 16:23:55.99 ID:NAU9m/rZ0.net

root権限奪えるって言っても
そのくそながディレクトリを作成、マウント、削除をされる時点でセキュリティとは…ってならんかとは思わんことはない
他の大抵のことはされそうな気がする

239 ::2021/07/24(土) 08:10:37.72 ID:tMxIhTrw0.net

んで長さを調節すれば
スタックに積んであるリターン先のアドレスを書き換えることができる

117 ::2021/07/22(木) 08:42:25.87 ID:Fhje7Nbt0.net

>>93
いうて1Gのパスなんか使うことあるか?

51 ::2021/07/22(木) 07:29:38.79 ID:VktoKvwN0.net

>>38
半角英数字のパスだとしたら1文字1バイトで
1024(G)×1024(M)×1024(K)文字になるのかな?
どんなパスだよw

60 ::2021/07/22(木) 07:34:53.01 ID:FNqpxgqb0.net

ディレクトリ名の最大値は255文字、ディレクトリの最大階層は255階層
とかに制限しとけよ

1GBの文字数とかアホかよ

19 ::2021/07/22(木) 07:06:50.34 ID:Wv9//1su0.net

>>12
これで修正okなの?
kvmallocに1GB長のsizeを渡すとダメっぽいけど、kvmallocの方にサイズ長チェックを入れるのが正しいのでは?

58 ::2021/07/22(木) 07:32:09.96 ID:kojxxWAE0.net

キーボードで連打して入力しなくてもいいんだぜ

mdかmkdirだろ

178 ::2021/07/22(木) 11:25:13.76 ID:u4LXqEJ80.net

大昔に気づいて悪用してるやつらがいてもおかしくない

189 ::2021/07/22(木) 12:11:57.83 ID:iMaTakkU0.net

>>12
これ、ほかでもbuffer allocateしてるところ総チェック必要だな
連休は返上で調査しろ!

131 ::2021/07/22(木) 09:15:38.88 ID:YMjTJsYr0.net

>>115
バッファオーバーフロー
番犬
スタックとかで調べるとわかりやすい

99 ::2021/07/22(木) 08:20:51.04 ID:6H/qbe230.net

ファミコンの裏技みたいだな

163 ::2021/07/22(木) 10:36:24.44 ID:CZ04k/6Z0.net

なげーよw

69 ::2021/07/22(木) 07:45:40.64 ID:olB5MV8l0.net

人名も1GB制限しなきゃな
現行ではサイズ制限無いんだろ

76 ::2021/07/22(木) 07:49:42.46 ID:olB5MV8l0.net

キーボードの上に突っ伏したまま寝てパスワード入力画面にとんでもない長さの文字列入力はよくやった
昔のUbuntuはそれやるとリセットか強制リブートしなきゃならなくなった

227 ::2021/07/23(金) 10:41:15.67 ID:srt94xPF0.net

>>114
具体的にコンソール上でどうなんの?
一般ユーザーで1GBのディレクトリ文字作った後からは
root権限でしか実行できないコマンドが動くようになる感じ?

110 ::2021/07/22(木) 08:34:18.91 ID:PdGQsaPW0.net

>>10
三行は無理だけど底辺プログラマの俺が頑張ってみた。

プログラムにはデータを入れる箱があります。
パス名を格納する為の1GB分の箱(path)と、ルート権限に関わる何らかのデータを格納する為の箱(root)が連続して用意されていたとします。
path箱にはプログラム外から渡されたデータが格納されます。
path箱のサイズは1GBしかない為、それを超えるデータが渡されてきた場合に備えて
・サイズが足らないよ!と怒って処理を終わる
・渡されたデータの内の1GBだけpath箱に格納して処理を継続する
などの対処を用意しておく必要があります。
これを怠った場合、1GBを超える部分のデータはpath箱の次の位置にあるroot箱の方に格納されてしまいます。
例えばroot箱が「ルート権限の人から起動されたら1という値を格納する」というもので、1GB部分の次の値が1であった場合、root箱はルート権限起動を示す状態になります。
プログラムがルート権限で動作するようになったことを足掛かりにシステム全体のルート権限を奪取することができたりします。
勿論、実際はこんな単純なものではありませんし色々なパターンがあります。

242 ::2021/07/24(土) 23:02:12.21 ID:xftY+FaM0.net

パス名1Gといってもmkdirで階層を深く掘る必要はなく、ln で再帰的なパスを作れば悪用可能ということ。

2 ::2021/07/22(木) 06:51:22.66 ID:IqI8O8xi0.net

256超えたらエラーにしないからアホだね

62 ::2021/07/22(木) 07:36:05.79 ID:yeqjiXzO0.net

>>45
確かに、そんなに堀らないとは思うけど。。
制限かけてないシステムが微レ存。。

197 ::2021/07/22(木) 13:10:42.82 ID:qYZZlvfp0.net

>>192
やめてどんな構造にすんだ

170 ::2021/07/22(木) 10:58:45.66 ID:trb6qy8Q0.net

>>123
1ギガの住所の時点で緯度軽度から何から何まで入れても1メガ程度になるだろうから、無理やり写真とか動画とかをテキストにして住所にしてってそこまでやられてる時点でガバガバな家だな

49 ::2021/07/22(木) 07:28:04.66 ID:SpisGqhR0.net

本体メモリを1G以下にすれば対応できないんじゃないの?

コメント

Translate »
タイトルとURLをコピーしました