CVE-2026-25640
WysokieCVSS 7.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 24 - wyżej niż 24% wszystkich znanych CVE
Streszczenie
W Pydantic AI w wersjach od 1.34.0 do 1.50.0 wykryto podatność na path traversal w interfejsie webowym. Atakujący może skonstruować złośliwy URL, który powoduje pobranie i wykonanie dowolnego kodu JavaScript z zewnętrznego źródła na tym samym CDN, zamiast legalnego pakietu UI. Podatność dotyczy aplikacji korzystających z Agent.to_web lub clai web do udostępniania interfejsu czatu.
Ocena ryzyka
Ryzyko polega na możliwości kradzieży historii czatu i innych danych klienckich przez atakującego, jeśli ofiara kliknie w spreparowany link lub odwiedzi go przez iframe. Podatność może być wykorzystana zarówno w środowiskach lokalnych (localhost), jak i na zdalnych serwerach.
Rekomendacja
Należy niezwłocznie zaktualizować Pydantic AI do wersji 1.51.0 lub nowszej, która zawiera poprawkę eliminującą podatność. Jeśli aktualizacja nie jest możliwa, należy ograniczyć dostęp do interfejsu webowego tylko do zaufanych sieci.
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 1.34.0 to before 1.51.0, a path traversal vulnerability in the Pydantic AI web UI allows an attacker to serve arbitrary JavaScript in the context of the application by crafting a malicious URL. In affected versions, the CDN URL is constructed using a version query parameter from the request URL. This parameter is not validated, allowing path traversal sequences that cause the server to fetch and serve attacker-controlled HTML/JavaScript from an arbitrary source on the same CDN, instead of the legitimate chat UI package. If a victim clicks the link or visits it via an iframe, attacker-controlled code executes in their browser, enabling theft of chat history and other client-side data. This vulnerability only affects applications that use Agent.to_web to serve a chat interface and clai web to serve a chat interface from the CLI. These are typically run locally (on localhost), but may also be deployed on a remote server. This vulnerability is fixed in 1.51.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

