CVE-2026-54249
ŚrednieCVSS 6.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 10 - wyżej niż 10% wszystkich znanych CVE
Streszczenie
W Pydantic AI przed wersjami 1.106.0 i 2.0.0b6, adapter UI (np. Vercel AI) nie waliduje referencji UploadedFile. Klient może odwołać się do dowolnych plików w koncie dostawcy modelu lub chmurze, używając tożsamości serwera, co może prowadzić do nieautoryzowanego odczytu danych.
Ocena ryzyka
Ryzyko polega na możliwości odczytu plików z konta chmurowego lub dostawcy modelu przez atakującego, wykorzystując tożsamość serwera, co może prowadzić do wycieku danych lub dostępu do danych innych dzierżawców.
Rekomendacja
Zaleca się aktualizację Pydantic AI do wersji 1.106.0 lub 2.0.0b6.
Inne podatności w Pydantic AI
Zobacz wszystkie- CVE-2026-107295Wysokie
Pydantic AI to framework agentów Pythona do budowania aplikacji i przepływów pracy z Generative AI. Od wersji 1.34.0 do 1.107.4 i 2.28.0, endpoint Agent.to_web() i clai web development chat ma brak walidacji typu zawartości żądania. Strona odwiedzona przez programistę może wysłać żądanie zgodne z przeglądarką do serwera czatu hostowanego na loopbacku, powodując uruchomienie agenta i wykonanie narzędzi z uprawnieniami i poświadczeniami lokalnego procesu; decyzje o zatwierdzeniu przekazywane przez klienta również pozostawiają narzędzia requires_approval=True narażone. Wiązanie do localhost nie zapobiega dotarciu strony przeglądarki do adresu loopback. Problem naprawiono w wersjach 1.107.4 i 2.28.0.
- CVE-2026-107294Średnie
Pydantic AI od wersji 1.77.0 do 1.107.2 oraz od 2.24.0 do wersji 2.24.0 (oraz 2.24.0?) — poprawnie: przed 1.107.2 i 2.24.0 — w web_fetch_tool, lokalnego fallbacku WebFetch oraz zdalnych pobieraniach mediów FileUrl buforuje całą odpowiedź HTTP przed egzekwowaniem kontroli rozmiaru. Adres URL modyfikowany przez atakującego może wysyłać dowolnie dużą odpowiedź, wyczerpując pamięć procesu i powodując awarię workera.
- CVE-2026-107293Średnie
Pydantic AI to framework Pythona do budowania aplikacji i przepływów pracy z Generative AI. Od wersji 0.3.4 do 1.107.4 i 2.27.1 instrumentacja OpenTelemetry skonfigurowana z InstrumentationSettings(include_content=False) może eksportować prompty ponownych prób poza wywołaniami narzędzi w gen_ai.input.messages i pydantic_ai.all_messages. Agenci używający NativeOutput, PromptedOutput lub walidatorów wyjścia na wyjściu tekstowym mogą w ten sposób ujawnić informacje zwrotne z walidacji, w tym nieprawidłowe wartości modelu cytowane w tej informacji zwrotnej, czytelnikom backendu telemetrii. Ponowne próby wywołań narzędzi i wdrożenia, które nie używają include_content=False, nie są objęte tą konkretną ścieżką. Problem naprawiono w wersjach 1.107.4 i 2.27.1.
- CVE-2026-107292Średnie
Pydantic AI od wersji 1.34.0 do 1.107.5 oraz od 2.24.0 do 2.30.0 — czyli przed 1.107.5 i 2.30.0 — w Agent.to_web() i serwerze czatu webowego clai nie weryfikuje nagłówka Host, co pozwala stronie internetowej odwiedzanej przez dewelopera na użycie DNS rebinding, aby dotrzeć do agenta działającego na loopbacku jako usługa same-origin. Wroga strona może czytać wyświetlany interfejs i wysyłać żądania czatu, które wykonują narzędzia agenta z uprawnieniami i poświadczeniami lokalnego procesu.
- CVE-2026-107291Średnie
Pydantic AI to framework Pythona do budowania aplikacji i przepływów pracy z Generative AI. Od wersji 0.3.4 do 1.107.6 i 2.44.0 instrumentacja OpenTelemetry skonfigurowana z InstrumentationSettings(include_content=False) może nadal eksportować wrażliwą zawartość agenta poprzez zdarzenia exception.message i exception.stacktrace, opisy statusu błędów oraz model_request_parameters zawierające instrukcje lub prompted_output_template. Ujawnione dane są dostępne dla czytelników skonfigurowanego backendu telemetrii i mogą obejmować informacje zwrotne z narzędzi, treści błędów dostawcy, instrukcje środowiska wykonawczego i szablony wyjścia strukturalnego, mimo że atrybuty wiadomości są redagowane. Problem nie przyznaje nowego dostępu do danych agenta, a wdrożenia, które nie używają include_content=False, nie są objęte obejściem ustawienia. Problem naprawiono w wersjach 1.107.6 i 2.44.0.
- CVE-2026-107290Średnie
Pydantic AI od wersji 1.77.0 do 1.107.6 oraz od 2.24.0 do 2.44.0 — czyli przed 1.107.6 i 2.44.0 — w lokalnym web_fetch_tool i WebFetch local fallback przetwarza odpowiedzi serwera z kwadratową złożonością przy ekstrakcji tytułów, normalizacji białych znaków i numerowaniu list uporządkowanych. Strona kontrolowana przez atakującego o umiarkowanym rozmiarze może zablokować pętlę zdarzeń na dłuższy czas, spowalniając inne uruchomienia agentów i żądania, podczas gdy nieobsługiwane kodeki lub nadmierne zagnieżdżenie HTML/JSON może przerwać pojedyncze uruchomienie.
- CVE-2026-107289Średnie
Pydantic AI to framework agentowy w Pythonie do budowania aplikacji i przepływów pracy z Generative AI. W wersjach od 1.56.0 do 1.107.6 oraz 2.44.0 aplikacje, które zezwalają na dostęp do adresów URL pochodzących od atakującego w sieci lokalnej poprzez FileUrl z force_download='allow-local' lub web_fetch_tool z allow_local_urls=True, mogą obejść blokadę metadanych chmurowych, dodając identyfikator strefy IPv6 do adresu metadanych IPv6. Równość i haszowanie IPv6Address uwzględniają identyfikator strefy, więc porównanie z listą blokad kończy się niepowodzeniem, mimo że stos sieciowy ignoruje strefę dla celu niebędącego link-local i dociera do usługi metadanych, potencjalnie ujawniając poświadczenia IAM chmury. Ustawienia opt-in są domyślnie wyłączone, a problem wymaga środowiska z obsługą IPv6. Problem został naprawiony w wersjach 1.107.6 i 2.44.0.
- CVE-2026-107288Niskie
Pydantic AI to framework agentowy w Pythonie do budowania aplikacji i przepływów pracy z Generative AI. Od wersji 1.77.0 do 1.107.6 oraz 2.44.0 lokalne narzędzie web_fetch_tool i lokalny fallback WebFetch porównują wpisy blocked_domains z nazwą hosta URL, zanim obie wartości zostaną znormalizowane do postaci używanej przez getaddrinfo. Model pod wpływem atakującego może użyć równoważnej pisowni IDNA, separatora etykiety innego niż ASCII, zmiany wielkości liter lub końcowej etykiety głównej, która rozwiązuje się do zablokowanego hosta, ale nie pasuje do skonfigurowanego ciągu, powodując pobranie tego hosta z uprawnieniami aplikacji. allowed_domains działa fail-closed dla niedopasowanych pisowni, a ochrona przed prywatnymi adresami IP i metadanymi chmury pozostaje skuteczna. Problem naprawiono w wersjach 1.107.6 i 2.44.0.
- CVE-2026-107287Średnie
Pydantic AI to framework agentowy w Pythonie do budowania aplikacji i przepływów pracy z Generative AI. W wersjach od 1.77.0 do 1.107.7 oraz 2.52.0 lokalne narzędzie web_fetch_tool oraz lokalny fallback WebFetch mogą zużywać nadmierne ilości CPU i pamięci podczas konwersji HTML na Markdown dla HTML kontrolowanego przez atakującego, zawierającego głęboko zagnieżdżone elementy blokowe. Konwersja wielokrotnie przetwarza zgromadzony tekst i może znacznie rozszerzyć wynik pośredni przed zastosowaniem limitu zwracanej treści, co pozwala na opóźnienie innych zadań w procesie przez pobranie kierowane przez model. Natywne pobieranie webowe dostawcy nie jest dotknięte. Problem został naprawiony w wersjach 1.107.7 i 2.52.0.
- CVE-2026-107286Wysokie
Pydantic AI w wersjach od 2.10.0 do 2.53.0 zawiera podatność polegającą na wycieku współdzielonych slotów współbieżności w ConcurrencyLimitedModel lub limit_model_concurrency. Wczesne zakończenie strumienia, anulowanie lub wyjątki konsumenta mogą pozostawić zajęte zasoby, co prowadzi do odmowy usługi. Problem naprawiono w wersji 2.53.0.
Oryginalny opis (angielski, źródło NVD)
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.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

