Atlassian Confluence の OGNL インジェクションの脆弱性に対する Fastly の保護対策

背景

- Atlassian Confluence の脆弱性 (CVE-2021-26084) の悪用が拡大していることが報告されています。- この脆弱性の悪用をブロックするため、Fastly は新たな WAF ルールをリリースしました。Fastly の次世代 WAF (旧 Signal Sciences) をご利用のお客様には、このルールをを直ちに有効にすることを推奨しています (以下をご参照ください)。
- Confluence Server または Data Center のインスタンスには、Atlassian によって提供されているパッチを早急に適用してください。


先日、Confluence Server または Data Center インスタンスで任意のコードを実行可能にする、Atlassian Confluenceおける OGNL インジェクションの脆弱性 (CVE-2021-26084) が発表されました。Fastly は、この脆弱性から次世代 WAF をご利用のお客様を守るためのルールを構築・デプロイしました。この脆弱性は活発に悪用されており、さらに加速することが予想されています。自己管理で Confluence を利用している場合は注意が必要です。

影響範囲

脆弱性が存在するのは自己管理型の Confluence インスタンスのみで、クラウドホスティング型 (Confluence Cloud) のインスタンスには影響はありません。ユーザーのアカウント作成を許可するオプション (Allow people to sign up to create their account) が有効になっている場合、管理者以外のユーザーや認証されていないユーザーが、自己管理型の Confluence インスタンスへアクセスすることが可能になります。

この脆弱性の悪用にはローカルアクセスが必要でないため、攻撃キャンペーンにて利用されやすい脆弱性となっています。攻撃者は Confluence インスタンスのリモートコントロールを取得することで、顧客データを処理する他の本番サーバーへの移行、Cryptominer のインストール、今後のアクセスに備えたバックドアの埋め込みなど、システムを自由に操ることが可能になります。

OGNL インジェクションの脆弱性とは

今回問題となったのは、Object Graph Navigation Language (OGNL) のインジェクション攻撃に対する脆弱性です。OGNL は、Java オブジェクトのプロパティの取得・設定を行うための式言語であるため、実行可能なコードの作成や変更を行うことができるように設計されています (そのため、特に Apache Struts はOGNL インジェクション攻撃によって大きな被害を受けています)。

もともと OGNL の目的は、テンプレートに基づいたテキストの条件付き書式設定を可能にする、制限付き書式機能を提供することでした。しかし、実行コードを読み込むための Java ランタイムの一部を誤って公開してしまったことが原因で、任意のコードの実行が可能になってしまいました。

インジェクション攻撃の目的は、予想されるユーザーの入力にコードを挿入し、コンテキストなしでアプリケーションにそのコードを評価および実行させることです。この場合、脆弱性は Velocity (Apache Foundation の Java テンプレートエンジン) でのテンプレートインジェクション攻撃によって引き起こされます。攻撃者は、入力にコマンドライン (bash) のコマンドを含め、それをオペレーションシステム上で実行させることができます。

この攻撃では、OGNL 式の内部で悪意のあるものが呼び出されていないかをチェックする isSafeExpression メソッドが巧妙に回避されています。Unicode 文字を使用することで、攻撃者は検証を回避する入力を作成することができます。例えば、#{3*33} という入力の代わりに \u0027%2b#{{3*33}}%2b\u0027 という文字列を入力すると、最終的に99という結果が得られます。悪用手口について詳しくは、こちらの記事をご覧ください。

脆弱性への速やかな対応を

至急、以下の対策を講じるよう強くお勧めします。2021年8月31日には概念実証コードが公開されており、Fastly のセキュリティリサーチチームは脆弱性が活発に悪用されていることを確認しています。

Fastly の次世代 WAF を自己管理型の Confluence インスタンスの前に使用しているお客様は、速やかにこのルールを有効にし、シグナルが観測された場合はリクエストをブロックするよう設定することを強くお勧めします。Site Rules メニューからTemplated Rules を選択し、Category オプションで CVE を選択すると、お客様向けに公開されている CVE ルールのリストにそのルールが表示されます。

Rule for CVE-2021-26084Templated rules

また、Atlassianガイダンスに従い、影響を受けた Confluence インスタンスにパッチを適用することをお勧めします。問題となっている脆弱性は世界中で活発に悪用されています。この脆弱性を利用して攻撃者が脆弱なサーバー上でコードをリモート実行した場合、深刻な影響が及ぶ可能性があります。

さらに詳しく知りたい場合

一連の攻撃に関する技術的な詳細については、CSO Online のこちらの投稿をご参照ください。また、テンプレート化されたルールを有効化する方法に関しては、Fastlyドキュメントをご覧ください。

Fastly Security Research Team
Fastly Security Research Team
Xavier Stevens
Staff Security Researcher
Simran Khalsa
Staff Security Researcher
投稿日

この記事は4分で読めます

興味がおありですか?
エキスパートへのお問い合わせ
この投稿を共有する
Fastly Security Research Team
Fastly Security Research Team

Fastly Security Research Team は、お客様が必要なツールやデータを利用してシステムを安全に保てる環境づくりに注力しています。同チームは Fastly ならではのスケールで攻撃を分析し、ブロックします。Fastly Security Research Team は、絶えず高度に変化し続けるセキュリティ環境の最先端を行く技術を駆使し、裏方としてお客様を支えるセキュリティエキスパートです。

Xavier Stevens
Staff Security Researcher

Xavier は Fastly の Staff Security Researcher として、脅威に関する研究、検出エンジニアリング、プロダクトイノベーションに注力しています。

Simran Khalsa
Staff Security Researcher

Simran は Fastly の Staff Security Researcher として、脅威インテリジェンス、脆弱性リサーチ、プロダクトイノベーションを担当しています。特に新しい攻撃手法に関する研究や、実世界の Web 攻撃を防ぐテクノロジーの強化に積極的に取り組んでいます。政府系機関と民間企業での職務を通じてオフェンシブセキュリティとディフェンシブセキュリティの両分野でキャリアを積み、最先端のセキュリティソリューションの構築に携わってきました。

Fastly試してみませんか ?

アカウントを作成してすぐにご利用いただけます。また、いつでもお気軽にお問い合わせください。