Linux DNF の脆弱性 CVE-2024-1929/1930 が FIX:PoC エクスプロイトが公表

CVE-2024-1929 & 1930: Protect Your Linux System from Root Exploits and DoS Attacks

2024/03/04 SecurityOnline — 数多くの Linux ディストリビューションの、コア・コンポーネントである DNF パッケージ・マネージャーに関する、最新のセキュリティ・レビューにより、2つの重大な脆弱性が発見された。これらの脆弱性の悪用に成功した攻撃者は、影響を受けたシステムを完全に制御することが可能になる。dnf5daemon-server コンポーネントに存在するこれの脆弱性は、いずれも Suze のセキュリティ研究者であるMatthias Gerstner により発見されたものだ。潜在的な攻撃からシステムを保護するために、早急なパッチ適用が推奨される。


dnf5daemon-server コンポーネントは、システムのパッケージ・マネージャである dnf5 と相互作用するための、D-Bus インタフェースのブリッジとして動作する。このサーバは root 権限で実行され、D-Bus システムバス経由で自動的に起動することから、悪用の格好のターゲットとなっており、特権を持たない攻撃者を root に特権昇格させる可能性がある。これらの深刻な脆弱性は、Gerstner のバージョン 5.1.9 のレビューにより明らかになった。

Image: Fedora

dnf5daemon-server の D-Bus インターフェイスの設計は、その悪用において、極めて重要な役割を果たしている。クライアントが新しいセッションを作成し、その後にパッケージの設定を管理できるようにすることで、不本意にも不正アクセスや不正操作への切欠が出来てしまう。いくつかの操作は、Polkit 認証により保護されているが、セッション作成プロセス自体に顕著な脆弱性が存在している。

CVE-2024-1929:設定辞書を介したローカル・ルートへの侵入

1つ目の脆弱性 CVE-2024-1929 は、open_session メソッドに渡されるキー/値のマップを経由して libdnf5 の設定に影響を与える性質に起因するものだ。適切なサニティ・チェックを行わないと、攻撃者は悪意のプラグインへのパスの指定が可能になり、root 権限で任意のコードを実行する可能性がある。Gerstner の PoC エクスプロイトは、この脆弱性が容易に悪用できることを示しており、早急な対策の必要性を強調している。

これに対して、アップストリーム・コミット e51bf2f0d で設定パラメーターのホワイト・リストが実装され、非特権ユーザーが機密設定を上書きする機能が制限された。この対策により、dnf5daemon-server の攻撃対象領域が大幅に縮小されることとなった。

CVE-2024-1930:サービス運用妨害の脆弱性

2つ目の脆弱性 CVE-2024-1930 は、非特権ユーザーが、無制限でセッションを作成できる性質を悪用するものだ。攻撃者は、何千ものセッションを生成することでシステムリソースを枯渇させ、 dnf5daemon-server を応答不能にさせ、また、クラッシュさせる可能性がある。

この脆弱性に対処するために、各ユーザーが開始できるセッション数に上限が設定され、1ユーザーあたり最大3セッションまでとなった。この対処により、リソースの枯渇という直接的な問題は解消したが、スレッド管理の非効率性という、根本的な問題は依然として解決されていない。