バグレポート| 2022年3月

緊迫したサイバーセキュリティ対応の合間に
Your Cybersecurity Comic Relief

Cybersecurity Comic ReliefComic from https://geek-and-poke.com/ and remains unedited.
https://creativecommons.org/licenses/by/3.0/
Use of this comic does not indicate endorsement by the creator.

今月も、バグレポートへようこそ。今月のメインディッシュはヘルシーなバグのキュイジーヌです。このレポートに馴染みのない方のために、ご説明しましょう。毎月 、わたしたちは、1か月間の注目度の高い脆弱性に関するちょっとしたリストをコンパイルして、知的探求心を満足させたいとお考えの皆様にお届けしています。どうぞ、腰をかけて、リラックスして、ゆっくりと味わってお楽しみください。

今月は、取り上げるべきバグには事欠きませんでした。なにしろ、わたしたちはバグのない世界を目指しているのですから!もちろん、そんなことは起きないかもしれませんが、夢は持ちましょう。私が今まで「バグのいない家」を実現したのは、田舎のテントウムシが出る家に住んでいた時です。もちろん、他の「悪い」バグは駆除してくれたのですが、天井は文字通り赤と黒の水玉模様で覆われていました。話がそれましたね。3月はLinuxコミュニティにとって恐ろしいバグがいくつかあり、また悪者によって積極的に悪用されているバグもいくつか存在しています。それでは、2022年3月のバグリストを確認して、駆除を始めましょう!


CVE-2022-0847: Linux Kernel (Dirty Pipe)

Dirty Pipes need some cleaning….

非常に有名な脆弱性には、独自のマーケティングチームがついていて、キャッチーな呼び名を決めているのかもしれません。「Dirty Pipe」もその一つですが、Linuxカーネルのメジャーなバグですから、キャッチーな名前をつけられているのも妥当でしょう。このバグが最初に報告されたのは、Max Kellermanによる このレポートです。Max Kellermanは、彼らのカスタムロギングソリューションを扱っているとき、奇妙なことを発見しました。OS のせいだということを、なかなか認めようとしなかったのですが (無理もないことですが)、彼は最終的にパイプのコードを Anonymous Pipes 用にリファクタリングしたときに発生した、任意の書き込みエラーを証明しました。pip_buffer 構造体がフラグのひとつを適切に初期化せず、空のままにしていたのです。この問題点は、誰かが任意のフラグでページキャッシュの参照を作ることができてしまうことです。 Anonymous Pipes がリファクタリングされたとき、キャッシュ参照に PIPE_BUF_FLAG_CAN_MERGE フラグを注入することができるようになったのです。1つしか入らないところに2つのものを無理に押し込んでしまえば、ページキャッシュの書き込みオーバーフローが実行可能です。これは任意のファイルの上書きを可能にするだけでなく、パーミッションも関係なくイミュータブルファイルに対しても実行可能です!

対象:

良いニュースと悪いニュースがあります。良いニュースは、この脆弱性は、Linux Kernel 5.8 以上のデバイスにしか存在しないことです。5.16.11, 5.15.25, 5.10.102 でこの脆弱性に対処しています。カーネルを積極的に手動でアップグレードしたり、最先端のディストリビューションを使用していない限り、サーバーやデスクトップでこの問題を目にすることはまずないでしょう。例えば、現在のUbuntuサーバーのLTSLong-Term Support)バージョンでは、脆弱性のないカーネルバージョン5.4が同梱されており、RedHatなどの他のディストリビューションが、さらに遅れています。たまには、ずるずると先延ばしにしたことが功を奏することだってあるんです!

悪いニュースは、他の多くの重要なデバイスが脆弱であり、見つけることが非常に難しく、利用可能なパッチが無いかもしれないということです。自分でインストールしたわけでもないのだから無かったことにしておきたいという気持ちにもなりますが、今回は注意しておいた方がよいかもしれません。例えば、多くの QNAP NAS デバイスは、脆弱な kernel 5.10.60 を実行しており、パッチはまだ提供されていません。同様に、Pixel 6やGalaxy S22など、Android 12を使用しているデバイスも危険にさらされています。他にどのようなデバイスが影響を受けるかは未知数です。5.8カーネルは2020年8月にリリースされたので、それ以降に購入されたデバイスのみが懸念される対象となります。POCはすでにオリジナルのレポート内とGithub上に存在するため、その懸念は時間の経過とともに増していくはずです。

対処法:

IoTデバイスのインベントリでも作成して待ちましょう。もうかれこれ1か月近く経ちますが、いまだパッチを待っている状態です。課題の大部分は、どれが脆弱な状態にあるのかを見極めて、パッチを待つことです。多くのQNAP デバイスが脆弱であることは分かっていますし、Android 12を実行しているデバイスも脆弱であると思われますが、他のどこにこの問題の影響が出るかはまだ分かりません。


CVE-2022-1096: Google Chromium V8 Engine

Don’t Panic!

「銀河ヒッチハイク・ガイド」に出てくる「危険察知サングラス」を覚えていますか?トラブルの気配を感じると真っ黒になって、ユーザーをパニックから救ってくれます。このChromiumのバグとよく似ていますね。ほとんど情報が公開されていないので、悪い予感がするのはわかります。公開されている情報は、WindowsMacLinux用のChrome 99.0.4844.84やMicrosoft Edge 99.0.1150.55. e 99.0.1150.55など複数のブラウザで使われているV8エンジンにおけるタイプの混乱の問題だと指摘されています。さらにこの問題は、野放し状態で活発に悪用されていることも分かっています。影響を受けるすべてのブラウザ用にパッチが配布されていきわたるようになるまで、ものすごく曇ったメガネをかけて見えないようにしておきたくなります。

対象:

わたしは心配していますし、あなたも心配するべきです!基本的に、今どきのブラウザーを使っている人なら誰でも心配するべきです。影響を受けるブラウザとして知られているのは、ChromeMicrosoft Edgeですが、Operaなど、他の多くのChromeベースのブラウザも影響を受ける可能性があります。FirefoxChromeベースではないので、Firefoxに関しては今回あまり心配する必要はありません。しかし20222月現在、Chromeだけでブラウザ市場の62.78%を占めているので、ほとんどの方が心配するべき対象者です。V8 engineで動作するのブラウザ型ではないアプリが影響を受けるかどうかは不明です。ブラウザ型ではないデスクトップアプリケーションの多くは、V8 engineで動作するElectronを使用しています。VS Code、Slack、Discordなどは注意深く観察する必要があります。

対処法:

パッチ、パッチ、パッチ、何度でも繰り返して言いましょう、パッチです。もっと詳しいことがわかるまでは、決定打となるような軽減策をお伝えすることは難しいです。幸い、ChromeMicrosoft Edgeにはすでに適用可能なパッチがあるので、環境にそのパッチを適用してください。


CVE-2022-0543: Redis on Debian

Watch out for Muh Stick!

Muhstikはどう発音すればよいのかがわからないですが、自分の頭の中では「My Stick」としか聞こえてきません。このボットネットの開発者はどう思っているのか知りませんが、彼らは悪者ですから、それが気になって眠れなくなることもないでしょう。最近、悪名高いボットネットが、Luaサンドボックス脱出の欠陥CVE-2022-0543の脆弱な targeting Redis serversRedisサーバーをターゲットにしていることが確認されています。わたしたちのバグレポートでは、CVSS指標などいろいろと考慮に入れていて、10点中10点満点のものがあると特に注目しています。Debian については 2 月中旬にsecurity advisoryをリリースしているため3月の脆弱性ではありませんが、これはMuhstik botnetに含まれているので、2週間はしっかり観察する必要があります。この脆弱性は、Debian上のRedisがLuaインタプリタを動的にロードする際に、パッケージ変数をクリアしないために発生します。影響のあるパッケージがLua ライブラリのロードに使われて、システム上で信頼できるコードを実行します。

対象:

Redis は最も人気のあるKey-Value データベースであり、コンテナで最も人気のあるNoSQL データベースで、データストアとしては #4 です。お使いのアプリケーションの1つ、もしくはそれ以上のアプリケーションがRedisを実行している可能性は十分ありえます。さらに、Debianベースのデプロイは、サーバやコンテナ内では特に一般的です。もしMuhstikボットネットの重要なメンバーになりたくはない、そしてFBIとの不快な面会を避けたいなら、お使いのサービスがRedis/Debianのペアであるか確認しておきましょう。

対処法:

もし、Debian のアップデートを適用していないのなら、すぐに適用してください。そして、もし自分のコンテナを所有しているなら、そちらもアップデートしてください。そうでなければ、自分のコンテナがどこから来たのかと悲嘆することになります。もし、もう手遅れだという場合は、ボットネットの感染を探して存在を抹消することです。


CVE-2022-24760: Node.js Parse Server module

Decidedly Not a Bagel

もしあなたが「知らなければ幸せ」というタイプで、データベースは永遠に安全だと思っているのなら、今すぐこれを読むのをやめましょう。がっかりさせたくありませんので。3月中旬、GithubParse Server 4.10.7以降のnpmパッケージにおけるリモートコマンドインジェクションの脆弱性に関するsecurity advisoryを発表しました。CVE-2022-0543と同様、CVSS scoreは10です。このパッケージは、デフォルトのMongoDB設定を実行しているNode.jsを搭載したウェブサーバに影響します(おそらく他のサーバにも影響します)。これはPrototype汚染のバグで、DatabaseController.jsに影響を及ぼします。つまり、HTTP リクエストに {_bsontype: 「Code”}キーワードでHTTPリクエストを慎重に作成することで、攻撃者はBinary Encoded JavaScript Object Notation (BSON) コード実行を得ることができます。

対象:

私は個人的にjavascriptから遠ざかっていますが、多くの人はこの言語が大好きで、ウェブサーバーのバックエンドとして最適だと判断しています。私は誰を批判すればいいのでしょうか?NetflixPayPalなどの大企業でNode.jsを使用しています。2021年の時点で、Node.js28,000以上のWebサイトを動かしており、これには他のウェブサーバーは含まれません。つまり、Node.jsは一般に公開されているはずなので、認証されていないコマンドインジェクションがWeb上に存在するというのは悪いニュースです。

対処法:

まず、Parse Server npm パッケージを 4.10.7 以降にアップグレードする必要があります。これが推奨される対処法です。開発の世界では、パッケージのアップデートをすぐに実行できないことがあります。 こちらの回避策を確認してください。その中で、BSONコードの実行を処理するParse Serverの前に実行されるいくつかのコードを適用できます。

※本ページの内容は2022年4月6日(US時間)更新の以下のTrellix Storiesの内容です。
原文: The Bug Report – March 2022
著者: Charles McFarland