22,000 CyberPanel Servers Exposed: Zero-Click RCE Vulnerability Discovered, PoC Published
2024/10/29 SecurityOnline — オープンソースの Web ホスティング・コントロールパネルである CyberPanel に存在する深刻な脆弱性が、セキュリティ研究者の DreyAnd により発見された。この脆弱性は、事前に認証されたルート権限で、ゼロクリックによるリモート・コード実行 (RCE) を許すものだが、現時点での最新バージョンである CyberPanel 2.3.6 では修正されていない。そのため、潜在的に数千ものインスタンスが、深刻なセキュリティの脅威に直面する可能性を持つ。

DreyAnd によると、「この脆弱性により、現時点の最新バージョン 2.3.6 で、事前認証されたルートによるゼロクリック RCE が発生した。この脆弱性は、現在もパッチ未適用の状態にある。メンテナには通知済みであり、パッチも作成済みだが、CVE とメイン・リリースへの修正の適用を待っている状態である」という。この脆弱性は、Django を使用している CyberPanel のコード構造内に存在し、各種のルート権限における、一貫性のない認証慣行に起因する。

DreyAnd による分析では、アプリケーション内の認証チェックの、不適切な実装の詳細が説明されている。彼は、「すぐに気づいたのは、認証チェックが全てのルートに対して、個別に適用されていたことだ。もし私が、このようなコードを書くとしたら、間違いなく、いくつかのルートで認証チェックを怠ってしまうだろう。そして、実際に、そのようなことが起こっている」と語っている。この見落としを悪用する攻撃者は、認証チェックのないルートを介して不正アクセスを可能にする。

この脆弱性の、最も危険な側面として挙げられるのは、ソフトウェアがサブプロセスを処理する方法に関連する。DreyAnd が説明しているように、このシステムは “サブプロセスへのパイプを好む” ため、コマンド・インジェクション攻撃が可能になる。
彼の分析結果には、ProcessUtilities.outputExecutioner() と呼ばれる脆弱なメソッドを用いる攻撃者がファイル・パスを操作し、影響を受けるサーバ上で事実上ルート・レベルの制御を獲得するという、この脆弱性の悪用方法が示されている。
さらに懸念されるのは、既存のセキュリティ・ミドルウェアを、完全に回避できる点である。DreyAnd は、「セキュリティ・ミドルウェアは、リクエスト・メソッドが POST の場合のみ、コマンド・インジェクションのチェックを行う。つまり、OPTIONS/PUT/PATCH を実行すれば、セキュリティ・ミドルウェアを完全に回避できる 」と指摘している。このセキュリティ対策のギャップにより、攻撃者がエクスプロイトを実行することが、きわめて容易になっている。
DreyAnd は、GitHub のリポジトリで PoC エクスプロイトを提供している。その一方で、leak_ix によると、22,000件以上の脆弱なインスタンスが確認されているという。
ユーザーに推奨されるのは、公式の修正プログラムがリリースされるまでの間は、追加のアクセス制限を検討し、このエクスプロイトを防ぐための警戒を怠らないことだ。パッチ・コミットは、ここから入手できる。
このブログでは初登場の CyberPanel ですが、まだ CVE が採番されていない、深刻な脆弱性が発見されたようです。GitHub には、「CyberPanel は、VPS および専用サーバの管理で利用できるコントロール・パネルである。基盤となる OS コマンド・ラインではなく GUI 使用して、Web ベースのサービスをホストしたいと考えている、上級ユーザーを対象としている。オープン・ソースであり、無料で使用できる」と紹介されています。おそらく、日本国内にも多数のユーザーがいると推測されます。ご利用のチームは、ご注意ください。

You must be logged in to post a comment.