CVE-2026-59294
ŚrednieCVSS 5.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 18 - wyżej niż 18% wszystkich znanych CVE
Streszczenie
ResourceCacheService.getCacheName() buduje nazwę pliku na dysku, dołączając fragment URI dosłownie, bez usuwania separatorów ścieżek lub sekwencji .., i przekazuje wynik do new File(resourceParentFolder, newFileName) przed zapisaniem pobranych bajtów. Podatność dotyczy Spring AI w wersjach 2.0.0, 1.1.0-1.1.8 oraz 1.0.9 i wcześniejszych.
Ocena ryzyka
Atakujący może manipulować nazwą pliku, aby zapisać dane poza zamierzonym katalogiem, co może prowadzić do nadpisania plików systemowych lub umożliwić wykonanie złośliwego kodu. Może to naruszyć integralność systemu.
Rekomendacja
Zaleca się aktualizację Spring AI do wersji z poprawką. Należy również sanityzować fragmenty URI przed użyciem w nazwach plików.
Inne podatności w Spring AI
Zobacz wszystkie- CVE-2026-59319Średnie
RedisChatMemoryRepository.findByMetadata() buduje zapytania RediSearch tag i text z wartości metadanych dostarczonych przez wywołującego bez zastosowania RediSearchUtil.escape(), w przeciwieństwie do get(), clear() i findByTimeRange() w tej samej klasie, które uciekają swoje dane wejściowe. Aplikacja, która przekazuje wartości kontrolowane przez użytkownika do findByMetadata() na polu metadanych typu tag, pozwala atakującemu wstrzyknąć składnię RediSearch (np. x} | *), która wyłamuje się z klauzuli tag i dopasowuje wszystkie zindeksowane wiadomości czatu we wszystkich konwersacjach w indeksie. Podatność dotyczy Spring AI 2.0.0.
- CVE-2026-47852Wysokie
Lokalny atakujący na hoście z wieloma użytkownikami może wcześniej utworzyć deterministyczną ścieżkę pamięci podręcznej i umieścić złośliwy plik modelu ONNX. Podatność dotyczy Spring AI w wersjach 2.0.0, 1.1.0-1.1.8 oraz 1.0.0-1.0.9.
- CVE-2026-47851Wysokie
Analiza pliku PDF z głęboko zagnieżdżonym lub cyklicznym spisem treści może spowodować błąd StackOverflowError w wątku przetwarzania danych. Podatność dotyczy Spring AI w wersjach 2.0.0, 1.1.0-1.1.8 oraz 1.0.0-1.0.9.
- CVE-2026-59318Średnie
Spring AI w wersjach 2.0.0, 1.1.0-1.1.8 oraz 1.0.0-1.0.9 zawiera podatność w obsłudze wywołań narzędzi, gdzie lista narzędzi dostępnych dla żądania nie jest w pełni egzekwowana. W pewnych warunkach można wywołać narzędzie, które nie było udostępnione dla bieżącego żądania, co może prowadzić do eskalacji uprawnień.
- CVE-2026-59308Średnie
W Spring AI, w obsłudze pamięci podręcznej semantycznej, skrót kontekstu używany do izolowania odpowiedzi z pamięci podręcznej między różnymi promptami systemowymi mógł pozwolić na współdzielenie odpowiedzi z pamięci podręcznej między niepowiązanymi kontekstami. Dotyczy wersji Spring AI 2.0.0.
- CVE-2026-59279Wysokie
Transport MCP Streamable HTTP server (warianty WebFlux i WebMvc) nie ogranicza liczby przechowywanych sesji i domyślnie nie wymaga uwierzytelnienia klientów. Zdalny atakujący może spowodować nieograniczone gromadzenie sesji, stopniowo wyczerpując pamięć i prowadząc do odmowy usługi (DoS) dla wszystkich legalnych klientów. Dotyczy Spring AI w wersji 2.0.0.
- CVE-2026-41863Średnie
W Spring AI od wersji 1.1.0 do 1.1.x, obsługa API Skills firmy Anthropic używa nazw plików pochodzących z modelu LLM bez sanityzacji w Path.resolve przed zapisem na dysk. Może to pozwolić złośliwemu użytkownikowi na zapis plików poza zamierzonym katalogiem docelowym, w tym do katalogów zastrzeżonych.
- CVE-2026-41705Wysokie
Podatność w Spring AI w implementacji MilvusVectorStore#doDelete(List) umożliwia wstrzyknięcie wyrażenia filtru przez niesanitizowane identyfikatory dokumentów. Dotyczy Spring AI 1.0.x (do 1.0.7) i 1.1.x (do 1.1.6).
Oryginalny opis (angielski, źródło NVD)
ResourceCacheService.getCacheName() builds the on-disk filename by appending the URI fragment verbatim, without stripping path separators or .. sequences, and passes the result to new File(resourceParentFolder, newFileName) before writing the downloaded bytes there. Spring AI 2.0.0 Spring AI 1.1.0 - 1.1.8 Spring AI 1.0.9 and earlier
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

