Apache Software FoundationのApache Storm Prometheus Reporterにおける証明書検証に関する脆弱性
タイトル Apache Software FoundationのApache Storm Prometheus Reporterにおける証明書検証に関する脆弱性
概要

Apache Storm Prometheus ReporterにおけるグローバルSSLコンテキストのダウングレードにより、不適切な証明書検証が発生する脆弱性です。この問題はバージョン2.6.3から2.8.6までに影響し、storm.daemon.metrics.reporter.plugin.prometheus.skip_tls_validation設定を有効にすると、PrometheusレポーターのみならずStormデーモン内のすべてのTLS通信チャネルに対して検証を行わないSSLコンテキストがグローバルに設定されます。その結果、自己署名証明書や攻撃者が生成した証明書も受け入れてしまい、中間者攻撃などのリスクが発生します。対策としては、バージョン2.8.7以降へのアップグレード、またはskip_tls_validationを有効化せず、代わりに適切なトラストストアを設定することが推奨されます。

想定される影響 当該ソフトウェアが扱う情報の一部が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う情報の一部が書き換えられる可能性があります。 さらに、当該ソフトウェアは停止しません。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
対策

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。

公表日 2026年4月27日0:00
登録日 2026年5月7日10:53
最終更新日 2026年5月7日10:53
CVSS3.0 : 警告
スコア 4.8
ベクター CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
影響を受けるシステム
Apache Software Foundation
Apache Storm Prometheus Reporter 2.6.3 以上 2.8.7 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
変更履歴
No 変更内容 変更日
1 [2026年05月07日]
  掲載
2026年5月7日10:53

NVD脆弱性情報
CVE-2026-40557
概要

Improper Certificate Validation via Global SSL Context Downgrade in Apache Storm Prometheus Reporter

Versions Affected: from 2.6.3 to 2.8.6

Description: 

In production deployments where an administrator enables storm.daemon.metrics.reporter.plugin.prometheus.skip_tls_validation (by default it is disabled) intending to affect only the Prometheus reporter, the undocumented global side effect creates an attack surface across every TLS-protected communication channel in the Storm daemon.

The PrometheusPreparableReporter class implements an INSECURE_TRUST_MANAGER that accepts all SSL certificates without validation, with empty checkClientTrusted and checkServerTrusted methods. Most critically, when the storm.daemon.metrics.reporter.plugin.prometheus.skip_tls_validation configuration option is enabled (default = disabled) for HTTPS Prometheus PushGateway connections, the INSECURE_CONNECTION_FACTORY calls SSLContext.setDefault(sslContext), which globally replaces the JVM's default SSL context rather than applying the insecure context only to the Prometheus connection. This payload flows through storm.yaml configuration → PrometheusPreparableReporter.prepare() → INSECURE_CONNECTION_FACTORY → SSLContext.setDefault(), resulting in a JVM-wide TLS security downgrade. All subsequent HTTPS connections in the process - including ZooKeeper, Thrift, Netty, and UI connections - silently trust all certificates, including self-signed, expired, and attacker-generated ones, enabling man-in-the-middle interception of cluster state, topology submissions, tuple data, and administrative credentials.

Mitigation: 2.x users should upgrade to 2.8.7 if the Prometheus Metrics Reporter is used. Prometheus Metrics Reporter Users who cannot upgrade immediately should remove the storm.daemon.metrics.reporter.plugin.prometheus.skip_tls_validation: true setting from their storm.yaml configuration and instead configure a proper truststore containing the PushGateway's certificate.

公表日 2026年4月27日23:16
登録日 2026年4月28日4:08
最終更新日 2026年5月1日1:16
関連情報、対策とツール
共通脆弱性一覧