Ad

CVE-2026-54249

MEDIUM CVSS 3.1: 6,8 EPSS 0.20%
Обновлено 4 августа 2026
Python
Параметр Значение
CVSS 6,8 (MEDIUM)
Уязвимые версии 1.65.0 — 1.105.0
Устранено в версии 1.105.0
Тип уязвимости CWE-918 (Подделка запросов на стороне сервера (SSRF))
Поставщик Python
Публичный эксплойт Нет

Pydantic AI — это платформа агентов Python для создания приложений генеративного искусственного интеллекта. В версиях с 1.65.0 по 1.105.0 и с 2.0.0b1 по 2.0.0b5 клиент, который отправляет историю сообщений в адаптер пользовательского интерфейса Pydantic AI (например, адаптер Vercel AI), может ссылаться на произвольные файлы в учетной записи поставщика модели или облачного хранилища приложения. Хотя части URL-адреса файла проверяются на соответствие списку разрешенных схем, ссылки UploadedFile, указывающие на файл по идентификатору файла поставщика или URI облачного хранилища (например, s3://…, gs://…), пересылались без проверки.

Поскольку поставщик разрешает UploadedFile, используя идентификатор на стороне сервера (роль IAM, учетную запись службы или ключ API поставщика), а не клиентский, злоумышленник может создать историю сообщений, чтобы заставить сервер читать объекты из своей собственной учетной записи или других клиентов, учитывая ссылочный идентификатор. Для эксплуатации требуется действительный идентификатор файла, который не всегда невозможно угадать в зависимости от того, как приложение называет объекты. Эта проблема исправлена ​​в версиях 1.106.0 и 2.0.0b6.

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

Pydantic AI is a Python agent framework for building Generative AI applications. In versions 1.65.0 through 1.105.0, and 2.0.0b1 through 2.0.0b5, a client that submits message history to a Pydantic AI UI adapter (such as the Vercel AI adapter) can reference arbitrary files in the application's model-provider or cloud-storage account. While file URL parts are validated against a scheme allowlist, UploadedFile references — which point to a file by provider file ID or cloud-storage URI (e.g. s3://…, gs://…) — were forwarded without validation. Because the provider resolves an UploadedFile using the server-side identity (IAM role, service account, or provider API key) rather than the client's, an attacker can craft message history to make the server read objects from its own account or other tenants, given a referenceable identifier. Exploitation requires a valid file identifier, which is not always unguessable depending on how the application names objects. This issue has been fixed in versions 1.106.0 and 2.0.0b6.

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

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

Последствия

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

Строка CVSS v3.1

Уязвимые продукты 6

Конфигурация От (включительно) До (исключительно)
Pydantic Pydantic_Ai
cpe:2.3:a:pydantic:pydantic_ai:*:*:*:*:*:python:*:*
1.65.0 1.105.0
Pydantic Pydantic_Ai
cpe:2.3:a:pydantic:pydantic_ai:2.0.0:beta1:*:*:*:python:*:*
Pydantic Pydantic_Ai
cpe:2.3:a:pydantic:pydantic_ai:2.0.0:beta2:*:*:*:python:*:*
Pydantic Pydantic_Ai
cpe:2.3:a:pydantic:pydantic_ai:2.0.0:beta3:*:*:*:python:*:*
Pydantic Pydantic_Ai
cpe:2.3:a:pydantic:pydantic_ai:2.0.0:beta4:*:*:*:python:*:*
Pydantic Pydantic_Ai
cpe:2.3:a:pydantic:pydantic_ai:2.0.0:beta5:*:*:*:python:*:*