LibreNMS Vulnerability (CVE-2024-51092): Mitigating the Risk of Server Compromise
2024/11/18 SecurityOnline — 先日の LibreNMS プロジェクトのセキュリティ・アドバイザリで明らかになったのは、バージョン 24.9.1 以下に影響を及ぼす、深刻な脆弱性 CVE-2024-51092 (CVSS:9.1) の存在である。この、広く使用されるネットワーク監視プラットフォームの脆弱性が、認証された攻撃者により悪用されると、任意の OS コマンドの実行により、サーバの完全に乗っ取りにいたる可能性がある。

LibreNMS は、各種のネットワーク・ハードウェアとオペレーティング・システムをサポートする、PHP/MySQL/SNMP ベースのネットワーク監視システムである。このアドバイザリには、「認証された攻撃者は、システム上に危険なディレクトリ名を作成し、また、Web ポータルを介して機密のコンフィグ・パラメータを変更できる。これら2つの欠陥が組み合わされると、shell_exec() 呼び出し内で、任意の OS コマンドが許可され、任意のコード実行が可能になる」と記されている。
この脆弱性は、設計上の欠陥の組み合わせに起因している。
- OS Command Injection:AboutController.php スクリプトは、サニタイズされていない入力を処理し、シェル・コマンド・インジェクションを可能にする。
- Configuration Parameter Poisoning:攻撃者は SettingsController.php スクリプトを使用してコンフィグ値を操作し、悪意のバイナリを指定できる。
- Arbitrary Directory Creation:サニタイズされていないホスト名を使用すると、攻撃者は悪意のディレクトリ構造を作成できる。
このアドバイザリ示すのは、これらの問題を連鎖させる攻撃者が、コード実行を実現する方法である。このプロセスには、悪意のホスト名を持つデバイスの作成/コンフィグ・パラメータの変更/about ページからのシェル・コマンド実行が含まれる。
このレポートでは、「要約すると、攻撃者がシステム・バイナリへ向けた有効なフル・パスを見つけ、そのフル・パスにシェル・メタ文字が含まれている場合には、それらの文字は上記で定義された shell_exec() 呼び出しにより解釈され、任意のコマンド実行が可能になる」と説明されている。
すでに PoC エクスプロイトが提供され、base64 エンコードされたコマンドが、この脆弱性を悪用してサーバ上にファイルを作成する方法が示されている。
すでに LibreNMS チームは、バージョン 24.10.0 をリリースし、この問題に対処している。ユーザーに対して強く推奨されるのは、上記のバージョンへと速やかに更新に、この脆弱性の悪用を防ぐことだ。
完全な技術的詳細については、オリジナルのアドバイザリを参照してほしい。システムのセキュリティを確保するために、ユーザーは速やかに行動すべきだ。
LibreNMS の脆弱性が FIX しました。CVSS:9.1 (Critical) と評価され、PoC も提供されていますので、ご利用のチームは、ご注意ください。このブログでは初登場の LibreNMS なので調べてみたところ、「Cisco/Linux/FreeBSD/Juniper/Brocade/Foundry/HP などの、幅広いネットワーク・ハードウェアとオペレーティング・システムを、自動検出でサポートする、PHP/MySQL/SNMP ベースのネットワーク監視ツールである」と、GitHub で紹介されていました。


You must be logged in to post a comment.