Linuxカーネルに特権昇格の脆弱性「Dirty Pipe」が報告される 17
ストーリー by nagazou
報告 部門より
報告 部門より
gf1e 曰く、
LinuxカーネルでDirty Pipe (CVE-2022-0847)という脆弱性が報告・修正されている。これを悪用すると、読み出し専用のファイルのページキャッシュにデータを書き込むことができてしまうとのこと。
Red Hatは7日、inuxカーネルに特権昇格につながる脆弱性「CVE-2022-0847」が存在すると発表した。脆弱性が存在するのはLinuxカーネル 5.8以降のバージョンで、すでに脆弱性が修正されているのは、Linux 5.16.11、Linux 5.15.25、Linux 5.10.102であるという。深刻度はCVSSv3スコア7.8で「重要」と分析されているため、早期のアップデートが推奨されている(TECH+)。
Max Kellermann 氏に感謝 (スコア:5, 参考になる)
https://dirtypipe.cm4all.com/ [cm4all.com] にて、発見者の Max Kellermann 氏が詳細な報告をまとめてくれてます。
彼が最初に不具合を遭遇したのは、2021年の4月。
彼は CM4all と言うホスティングサービスの保守を担当しており、2021年4月に顧客からファイル破損のレポートを受け取ったそうです。
何かおかしいと感じた彼は、その後3ヶ月間で37ファイルが破損するなどファイルが頻繁に破損していることを突き止め、
カーネルの不具合を疑いはじめます。
その後の試行錯誤を経て実証コードが完成したのが2022年02月19日。(技術的な詳細は割愛します。詳しくは彼の説明を読んでください)
これはセキュリティホールでもあると言うことで 、2月20日に Linux kernel security team にレポートを送り、
2月21日にセキュリティホールの詳細は伏せて、LKMLに修正パッチを投稿、
2月23日にバグ修正版のlinux-5.16.11 がリリースされています。
実証コードがしっかりしているので、レポートが送られてからリリースまで話がとんとん拍子に進んでいます。
最初の不具合から約一年、地道な調査と修正パッチまで投稿してくれた Max Kellermann 氏の貢献はもっと多くの人に知られるべきです。
興味がある人は是非 https://dirtypipe.cm4all.com/ [cm4all.com] で彼の報告を読みましょう。
また今回の不具合はセキュリティホールだけでなく、ファイルの破損を引き起こします。
ファイルが破損する条件も具体的に記載されていますので、気になる人はMax氏の報告に目を通しておくべきだと思います。
Re:Max Kellermann 氏に感謝 (スコア:3, 参考になる)
参考:
20分で分かるDirty Pipe(CVE-2022-0847)
https://knqyf263.hatenablog.com/entry/2022/03/11/105130 [hatenablog.com]
Re: (スコア:0)
意図的に壊せる(改変できる)ってことは、偶発的に壊れる危険も当然あるわけか
Linuxカーネル 5.8 (2020)以降のバージョン?・・・とは限らない (スコア:2, すばらしい洞察)
Red Hatは、RHEL8 は影響を受けると言っているが、RHEL8 自身はKernel 4.18系なので、
該当フラグ(PIPE_BUF_FLAG_CAN_MERGE)をバックポートしていたということだろう。
#影響を受けるが脆弱ではない(既知のエクスプロイットに対して、という意味か?)という
RedHatの言い方もどうにかして欲しい…。
ということは、同じく、Androidも影響を受ける製品がある、という報道についても、
Android 12が4.19~5.10系、Android 11が4.14~5,4系のため、
一見Android 11以前は影響を受けない風にも受け取れるが、
バックポートされている可能性があるため、カーネルバージョンでの判定は
当てにならない、ということか。
だから、”Linuxカーネル 5.8以降”という報道は、この件に関しては止めた方がよくて、
個々のディストリビューションに確認すること、と伝えた方がいいのかもしれない。
#RHEL8と5.8の2つの数字から、開発者なら分かれ、というメッセージかもしれないけど。
それとも、フラグがなくても潜在的によろしくない、という意味なら、
カーネル 4.9以降は当該フラグのバックポートによって脆弱となる、
とか補足して欲しかった。
Androidの方は、ベンダーカーネルでバックポートされてるかの情報も欲しいが、
分かりやすく教えてくれないだろうから(公開ソースから自分で探せと言われそう…)、
まずは共通カーネルでのバックポート状況を知りたいところ。
Re:Linuxカーネル 5.8 (2020)以降のバージョン?・・・とは限らない (スコア:2)
Ubuntu Bionic (18.04 LTS) や Focal (20.04 LTS) は Kernel 5.8 以前の世代ですが影響があったようで
flaw は存在する。未だ exproit が見つかっていないという言い方をしています。
https://askubuntu.com/questions/1396716/why-is-linux-in-bionic-and-foc... [askubuntu.com]
Re:Linuxカーネル 5.8 (2020)以降のバージョン?・・・とは限らない (スコア:3, 参考になる)
混乱している人が多いようなのですが、バックポートとかではなくて2段階でセキュリティ・バグが混入しているのです。
Linux 4.9 でフラグの初期化が漏れるというバグが混入(この時点で潜在的に危険)
Linux 5.8 の改修で上記のフラグ問題を悪用して、簡単に攻撃できるようになった。
ということ 5.8以降については小学生でも悪用できるレベルで危険なので緊急に対応が必要な案件。
4.9〜5.8 は潜在的に危険だけど、まだ具体的な攻撃方法は見つかっていない(まだあわてる段階ではないけど、いきなり攻撃方法が見つかって致命的になる可能性があるので要対応)
Re: (スコア:0)
5.8でPIPE_BUF_FLAG_CAN_MERGEが導入されたことによって、未初期化のフラグで悪さができるようになったと
Re: (スコア:0)
オープンソースでバージョンなんたらと言ったらそりゃメインストリームのソースコードのことだわな。
何をバックポートしてるかって分からんソースコードを誰か調べてくれ。
運がいいと穴の先が独自パッチとかバックポートで塞がってたりする。運が悪いとメインストリームで問題なしとなった不具合が独自パッチとかバックポートの結果大穴になってたりする。
Re: (スコア:0)
> 運が悪いとメインストリームで問題なしとなった不具合が独自パッチとかバックポートの結果大穴になってたりする。
DebianのOpenSSLが実際にやらかしましたよね。
https://security.srad.jp/story/08/05/15/1636213/ [security.srad.jp]
空目 (スコア:0)
ラブリーエンジェルの事かと思った
Re:空目 (スコア:2)
空目を空自に空目しました。
# 老眼ガー…マルチフォーカルのコンタクトガー…
Re: (スコア:0)
ランジェリーの事かと思った
Re: (スコア:0)
そりゃ Dirty Pair ですがな
水に流そう (スコア:0)
Red Hatは7日、inuxカーネルに特権昇格につながる脆弱性「CVE-2022-0847」が存在すると発表した。
BGMはムーンライト・セレナーデでしょうか
# それはINAX
Re: (スコア:0)
inuxとは、Peanutsに登場する頭脳明晰な人物LinusがSnoopyのために開発したイヌ専用UNIX系OSである…?