CVE-2026-46678
ŚrednieCVSS 6.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 36 - wyżej niż 36% wszystkich znanych CVE
Streszczenie
W Pydantic AI przed wersją 1.99.0, gdy aplikacja włączy force_download='allow-local' dla URL, lista blokad metadanych chmury może zostać ominięta przez zakodowanie adresu IP metadanych w formie IPv6 (np. IPv4-mapped IPv6). Może to ujawnić krótkoterminowe poświadczenia IAM chmury.
Ocena ryzyka
Ryzyko polega na możliwości wycieku poświadczeń IAM chmury (np. AWS, GCP) przez atakującego, który może kontrolować URL pobierania pliku, co może prowadzić do nieautoryzowanego dostępu do zasobów chmurowych.
Rekomendacja
Zaleca się aktualizację Pydantic AI do wersji 1.99.0 lub nowszej oraz unikanie używania force_download='allow-local' z niezaufanymi URL-ami.
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.56.0 through 1.98.0, when an application opts a URL into force_download='allow-local' (disabling the default block on private/internal IPs), the cloud-metadata blocklist could be bypassed by encoding the metadata IP in an IPv6 transition form (IPv4-mapped IPv6, 6to4, or NAT64), exposing cloud IAM short-term credentials on dual-stack or translated networks. This is an incomplete fix of GHSA-2jrp-274c-jhv3 / CVE-2026-25580, whose remediation did not hold for IPv6-encoded forms of the metadata IPs. An application is affected only if it explicitly opts a FileUrl (ImageUrl, AudioUrl, VideoUrl, DocumentUrl) into force_download='allow-local' on a URL influenced by untrusted input; it is not affected when using bundled integrations to ingest user input (Agent.to_web / clai web, VercelAIAdapter, AGUIAdapter / Agent.to_ag_ui), since they do not propagate force_download from external data, nor when downloading only from developer-controlled URLs. This issue has been fixed in version 1.99.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

