製品・ソフトウェアに関する情報
Apache Software FoundationのApache Storm Prometheus Reporterにおける証明書検証に関する脆弱性
Title Apache Software FoundationのApache Storm Prometheus Reporterにおける証明書検証に関する脆弱性
Summary

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を有効化せず、代わりに適切なトラストストアを設定することが推奨されます。

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

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

Publication Date April 27, 2026, midnight
Registration Date May 7, 2026, 10:53 a.m.
Last Update May 7, 2026, 10:53 a.m.
CVSS3.0 : 警告
Score 4.8
Vector CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
Affected System
Apache Software Foundation
Apache Storm Prometheus Reporter 2.6.3 以上 2.8.7 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
Change Log
No Changed Details Date of change
1 [2026年05月07日]
  掲載
May 7, 2026, 10:53 a.m.

NVD Vulnerability Information
CVE-2026-40557
Summary

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.

Publication Date April 27, 2026, 11:16 p.m.
Registration Date April 28, 2026, 4:08 a.m.
Last Update May 1, 2026, 1:16 a.m.
Related information, measures and tools
Common Vulnerabilities List