Skip to content
OpenAdvisories
High · 7.5 Scanner template Public exploit CVE-2025-27817 BIT-kafka-2025-27817EUVD-2025-17640GHSA-vgq5-3255-v292

Apache Kafka Client: Arbitrary file read and SSRF vulnerability

Published Jun 10, 2025 · Updated Jun 10, 2025 · Assigned by apache

Vendor: Apache Software Foundation Product: Apache Kafka Client Package: apache-nifi Package: apache-nifi-compat Package: apache-nifi-toolkit Package: apicurio-registry Package: apicurio-registry-nginx-config Package: apicurio-registry-ui Package: druid Package: druid-compat Package: kafka_exporter-strimzi-compat Package: kafka-strimzi-compat Package: logstash-8-with-output-opensearch Package: opensearch-2 Package: opensearch-3 Package: opensearch-3-alerting Package: opensearch-3-analysis-icu Package: opensearch-3-analysis-kuromoji Package: opensearch-3-analysis-nori Package: opensearch-3-analysis-phonetic Package: opensearch-3-analysis-smartcn Package: opensearch-3-analysis-stempel Package: opensearch-3-analysis-ukrainian Package: opensearch-3-anomaly-detection Package: opensearch-3-asynchronous-search Package: opensearch-3-cross-cluster-replication Package: opensearch-3-crypto-kms Package: opensearch-3-custom-codecs Package: opensearch-3-discovery-azure-classic Package: opensearch-3-discovery-ec2 Package: opensearch-3-discovery-gce Package: opensearch-3-geospatial Package: opensearch-3-index-management Package: opensearch-3-ingest-attachment Package: opensearch-3-job-scheduler Package: opensearch-3-k-nn Package: opensearch-3-mapper-annotated-text Package: opensearch-3-mapper-murmur3 Package: opensearch-3-mapper-size Package: opensearch-3-ml-commons Package: opensearch-3-neural-search Package: opensearch-3-notifications Package: opensearch-3-observability Package: opensearch-3-performance-analyzer Package: opensearch-3-reporting Package: opensearch-3-repository-azure Package: opensearch-3-repository-gcs Package: opensearch-3-repository-s3 Package: opensearch-3-security Package: opensearch-3-security-analytics Package: opensearch-3-sql Package: opensearch-3-store-smb Package: opensearch-3-telemetry-otel Package: org.apache.kafka:kafka-clients Package: prometheus-jmx-exporter-strimzi-compat Package: strimzi-kafka-operator Package: strimzi-kafka-operator-cluster-operator Package: strimzi-kafka-operator-kafka-agent Package: strimzi-kafka-operator-kafka-base Package: strimzi-kafka-operator-kafka-init Package: strimzi-kafka-operator-kafka-thirdparty-libs Package: strimzi-kafka-operator-kafka-thirdparty-libs-cc Package: strimzi-kafka-operator-topic-operator Package: strimzi-kafka-operator-tracing-agent Package: strimzi-kafka-operator-user-operator Package: thingsboard Package: thingsboard-tb-js-executor Package: thingsboard-tb-mqtt-transport Package: thingsboard-tb-node Package: thingsboard-tb-web-ui Package: wildfly Package: wildfly-openjdk-17 Package: wildfly-openjdk-17-compat Package: wildfly-openjdk-21 Package: wildfly-openjdk-21-compat Package: zipkin Package: zipkin-oci-entrypoint Package: zipkin-slim Ecosystem: Maven Ecosystem: Wolfi

Description

A possible arbitrary file read and SSRF vulnerability has been identified in Apache Kafka Client. Apache Kafka Clients accept configuration data for setting the SASL/OAUTHBEARER connection with the brokers, including "sasl.oauthbearer.token.endpoint.url" and "sasl.oauthbearer.jwks.endpoint.url". Apache Kafka allows clients to read an arbitrary file and return the content in the error log, or sending requests to an unintended location. In applications where Apache Kafka Clients configurations can be specified by an untrusted party, attackers may use the "sasl.oauthbearer.token.endpoint.url" and "sasl.oauthbearer.jwks.endpoint.url" configuratin to read arbitrary contents of the disk and environment variables or make requests to an unintended location. In particular, this flaw may be used in Apache Kafka Connect to escalate from REST API access to filesystem/environment/URL access, which may be undesirable in certain environments, including SaaS products.

Since Apache Kafka 3.9.1/4.0.0, we have added a system property ("-Dorg.apache.kafka.sasl.oauthbearer.allowed.urls") to set the allowed urls in SASL JAAS configuration. In 3.9.1, it accepts all urls by default for backward compatibility. However in 4.0.0 and newer, the default value is empty list and users have to set the allowed urls explicitly.

Affected products

VendorProductAffectedFixed
Apache Software Foundation Apache Kafka Client 3.1.0 – ≤ 3.9.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling apache-nifi +2 2.4.0-r4 —
Wolfi rolling apicurio-registry +2 3.0.9-r1 —
Wolfi rolling druid +1 33.0.0-r4 —
Wolfi rolling kafka-strimzi-compat +12 0.46.0-r6 —
Wolfi rolling logstash-8-with-output-opensearch 8.18.2-r2 —
Wolfi rolling opensearch-2 2.19.1-r5 —
Wolfi rolling opensearch-3 +38 3.0.0-r2 —
Wolfi rolling thingsboard +4 4.0.1-r6 —
Wolfi rolling wildfly +4 36.0.1-r5 —
Wolfi rolling zipkin +2 3.5.1-r2 —

Public exploits

Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.

Third-party code, not reviewed by us. Public PoCs are sometimes fake or contain malware. Read the code first and run it only in an isolated lab, against systems you are authorised to test.

GitHub 2 repositories

  • oriolrius/kafka-keycloak-oauth ★ 5 · Oct 13, 2025

    Apache Kafka 4.1.0 (KRaft) with Keycloak OAuth2 authentication using Strimzi - bypasses CVE-2025-27817 URL allowlist restriction

  • iSee857/CVE-2025-27817 ★ 5 · Jul 4, 2025

    Apache Kafka客户端未对用户输入进行严格验证和限制,未经身份验证的攻击者可通过构造恶意配置读取环境变量或磁盘任意内容,或向非预期位置发送请求,提升REST API的文件系统/环境/URL访问权限。

Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.

Automated scanner template

A ready-made Nuclei template detects this vulnerability automatically. Vulnerabilities with public scanner templates are typically probed across the internet soon after the template appears — exposed systems should be patched first.

Source: projectdiscovery/nuclei-templates (MIT) — updated daily. Only links are listed.

Affected packages

EcosystemPackageAffectedFixedRecord
Maven org.apache.kafka:kafka-clients >= 3.1.0, < 3.9.1 3.9.1 GHSA-vgq5-3255-v292

Advisories 14

References