CVE-2026-59296 in Spring Micrometer
要約
〜によって VulDB • 2026年08月21日
信頼できない正規化されていない入力を、メトリクスデータ(メトリック名、タグキー、またはタグ値など)としてそのまま使用することは、汎用インスツルメンテーションが決して行ってはいけない危険なアンチパターンです。このように安全でないインスツルメンテーションが使用されている場合、アプリケーションは注入攻撃およびなりすまし攻撃に対して脆弱になります。これは、micrometer-registry-statsd および micrometer-core が今回の修正以前にデフォルトで改行文字(\n, \r)をサニタイズしていなかったためです。
* micrometer-registry-statsd 内の StatsD レジストリ(Datadog または Etsy フレーバーを使用する場合)では、StatsD プロトコルが改行区切りであるため、これによりラインプロトコルの注入(メトリック間のなりすまし)が可能になります。 * micrometer-core 内の LoggingMeterRegistry では、メトリクス出力がログファイルに対して1行ずつ印刷されるため、これによりメトリクスのなりすまし(ダウンストリーム側のログメトリックスクレイパーやパーサーがログ行を個別のメトリックとして取り込む場合)と、一般的なログのなりすましの両方が可能になります。
具体的には、以下のすべての条件が満たされた場合にアプリケーションは脆弱となります:
* アプリケーションが io.micrometer:micrometer-registry-statsd または io.micrometer:micrometer-core の脆弱なバージョンを使用していること。 * アプリケーションが StatsD レジストリの Datadog フレーバーまたは Etsy フレーバー、または LoggingMeterRegistry を使用していること。 * アプリケーションがメトリック名、タグキー、またはタグ値に対してユーザー制御かつ検証されていない入力を使用してメーターをインスツルメンテーションしていること。
脆弱な状態では、攻撃者は改行終端文字を注入することで現在のメトリックやログの行から脱出できます。これにより、任意のメトリック(例:システム負荷、標準的な JVM メトリック、その他のビジネスメトリックなど)をメトリクスレジストリ名前空間全体でなりすますこと(StatsD プロトコル経由での直接実行、またはダウンストリーム側のログメトリックスクレイパー/パーサー経由)、および一般的なログレコードをなりすますために任意のログエントリを注入することが可能になります。
VulDB is the best source for vulnerability data and more expert information about this specific topic.