Ad

CVE-2026-18353

HIGH CVSS 4.0: 8,8 EPSS 0.24%
Обновлено 30 июля 2026
Python
Параметр Значение
CVSS 8,8 (HIGH)
Тип уязвимости CWE-918 (Подделка запросов на стороне сервера (SSRF))
Поставщик Python
Публичный эксплойт Нет

Конечная точка `POST /v1/upload/sbom` PIA принимает JWT-носитель и проверяет его **непроверенное** утверждение `iss` по списку разрешений эмитента, используя `urlparse` Python перед выполнением обнаружения OIDC с помощью `запросов`. Поскольку `urlparse` и `requests`/`urllib3` анализируют строку полномочий, содержащую обратную косую черту (например, `https://attacker-host\@ci.eclipse.org/`), на *разные* имена хостов, злоумышленник может создать эмитента, который проходит проверку списка разрешенных, но при этом запускает `requests` — и впоследствии `urllib.request.urlopen` для получения JWKS - для подключения к произвольному Хост, порт и схема, выбранные злоумышленником.

Показать оригинальное описание (EN)

PIA's `POST /v1/upload/sbom` endpoint accepts a Bearer JWT and checks its **unverified** `iss` claim against an issuer allowlist using Python's `urlparse` before performing OIDC discovery with `requests`. Because `urlparse` and `requests`/`urllib3` parse an authority string containing a backslash (e.g. `https://attacker-host\@ci.eclipse.org/`) into *different* hostnames, an attacker can craft an issuer that passes the allowlist check yet drives `requests` — and subsequently `urllib.request.urlopen` for JWKS retrieval — to connect to an arbitrary attacker-chosen host, port, and scheme.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Условия для атаки
Не требуются
Нет дополнительных условий
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Низкое
Частичная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Нет
Нет нарушения работы

Строка CVSS v4.0