CVE-2026-25580
WysokieCVSS 8.6Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 44 - wyżej niż 44% wszystkich znanych CVE
Streszczenie
W Pydantic AI w wersjach od 0.0.26 do 1.56.0 występuje podatność na fałszowanie żądań po stronie serwera (SSRF) w funkcji pobierania URL. Atakujący może wysłać złośliwy URL w historii wiadomości, co powoduje, że serwer wykonuje żądania HTTP do wewnętrznych zasobów sieciowych.
Ocena ryzyka
Ryzyko polega na możliwości uzyskania dostępu do wewnętrznych usług lub poświadczeń chmurowych, co może prowadzić do wycieku danych lub dalszej kompromitacji infrastruktury.
Rekomendacja
Należy niezwłocznie zaktualizować Pydantic AI do wersji 1.56.0 lub nowszej, która zawiera poprawkę eliminującą podatność SSRF.
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 applications and workflows with Generative AI. From 0.0.26 to before 1.56.0, aServer-Side Request Forgery (SSRF) vulnerability exists in Pydantic AI's URL download functionality. When applications accept message history from untrusted sources, attackers can include malicious URLs that cause the server to make HTTP requests to internal network resources, potentially accessing internal services or cloud credentials. This vulnerability only affects applications that accept message history from external users. This vulnerability is fixed in 1.56.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

