systemd の脆弱性により、権限が昇格される可能性があります

systemd システムマネージャーで 特定された 脆弱性(CVE-2020-1712)、特別に設計されたリクエストを DBus バス経由で送信することで、昇格した特権でコードを実行できる可能性があります。 この問題はテストリリースで修正されています システム 245-rc1 (問題を解決するパッチ: 1, 2, 3)。 この脆弱性はディストリビューションで修正されています Ubuntu, フェドーラ, RHEL (RHEL 8 に表示されますが、RHEL 7 には影響しません)、 CentOSの и SUSE/openSUSE、しかしこの記事を書いている時点ではニュースは修正されていないままです。 Debianの и アーチのLinux.

この脆弱性は、DBus メッセージの処理中に Polkit へのリクエストを非同期的に実行するときに発生する、すでに解放されたメモリ領域へのアクセス (解放後使用) によって引き起こされます。 一部の DBus インターフェイスは、キャッシュを使用してオブジェクトを短期間保存し、DBus バスが他のリクエストを処理できるようになるとすぐにキャッシュ エントリをフラッシュします。 DBus メソッド ハンドラーが Bus_verify_polkit_async() を使用する場合、Polkit アクションが完了するまで待機する必要がある場合があります。 Polkit の準備が完了すると、ハンドラーが再度呼び出され、メモリ内に既に分散されているデータにアクセスします。 Polkit へのリクエストに時間がかかりすぎる場合、DBus メソッド ハンドラーが XNUMX 回目に呼び出される前に、キャッシュ内の項目がクリアされます。

この脆弱性の悪用を可能にするサービスの中で、DBus API org.freedesktop.machine1.Image.Clone を提供する systemd-machined が注目されており、キャッシュへのデータの一時保存と Polkit への非同期アクセスにつながります。 インターフェース
org.freedesktop.machine1.Image.Clone は、システムのすべての非特権ユーザーが利用できます。これにより、systemd サービスがクラッシュしたり、コードが root として実行される可能性があります (エクスプロイト プロトタイプはまだ実証されていません)。 脆弱性の悪用を許可したコードは次のとおりです。 追加されました 2015 バージョンの systemd-machined で systemd 220 (RHEL 7.x は systemd 219 を使用します)。

出所: オープンネット.ru

コメントを追加します