Miggo Logo

CVE-2025-27817:
Apache Kafka Client SSRF and Arbitrary File Read Vulnerability

7.5

CVSS Score

Basic Information

EPSS Score
-
Published
6/10/2025
Updated
6/10/2025
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.apache.kafka:kafka-clientsmaven>= 3.1.0, < 3.9.13.9.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability, CVE-2025-27817, allows for arbitrary file read and Server-Side Request Forgery (SSRF) in Apache Kafka Client versions 3.1.0 through 3.9.0. It stems from improper handling of the 'sasl.oauthbearer.token.endpoint.url' and 'sasl.oauthbearer.jwks.endpoint.url' configuration parameters. Attackers can provide malicious URLs (e.g., 'file:///etc/passwd' or internal service URLs) to these parameters. The Kafka client, when establishing a SASL/OAUTHBEARER connection, would then attempt to fetch content from these attacker-controlled URLs. This could lead to the contents of local files being read and potentially exposed (e.g., in error logs if the URL is malformed or the content is not as expected for a token/JWKS endpoint) or to requests being made to internal services, bypassing network controls. The functions responsible for parsing these configuration options and making the subsequent HTTP/HTTPS requests are the core of this vulnerability. The patch introduced in versions 3.9.1 and 4.0.0 mitigates this by adding a system property 'org.apache.kafka.sasl.oauthbearer.allowed.urls' to whitelist permissible URLs. Without the specific commit details, exact function names cannot be identified, but they would be located in the client-side SASL/OAUTHBEARER implementation, likely involving classes that handle URL connections for token and JWKS retrieval.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

* possi*l* *r*itr*ry *il* r*** *n* SSR* vuln*r**ility **s ***n i**nti*i** in *p**** K**k* *li*nt. *p**** K**k* *li*nts ****pt *on*i*ur*tion **t* *or s*ttin* t** S*SL/O*UT****R*R *onn**tion wit* t** *rok*rs, in*lu*in* "s*sl.o*ut****r*r.tok*n.*n*point.

Reasoning

T** vuln*r**ility, *V*-****-*****, *llows *or *r*itr*ry *il* r*** *n* S*rv*r-Si** R*qu*st *or**ry (SSR*) in *p**** K**k* *li*nt v*rsions *.*.* t*rou** *.*.*. It st*ms *rom improp*r **n*lin* o* t** 's*sl.o*ut****r*r.tok*n.*n*point.url' *n* 's*sl.o*ut*