CVE-2026-107716
WysokieCVSS 7.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 3 - wyżej niż 3% wszystkich znanych CVE
Streszczenie
Banks to biblioteka generująca prompty LLM przy użyciu prostego języka szablonów. W wersjach przed 2.5.1 DirectoryPromptRegistry nie odrzuca dowiązań symbolicznych dla pliku index.json oraz plików .jinja, co w aplikacjach z niezaufanymi użytkownikami może prowadzić do ujawnienia, odczytu lub nadpisania plików poza katalogiem rejestru.
Ocena ryzyka
Atakujący mogący wpływać na katalog promptów może uzyskać dostęp do poufnych plików lub nadpisać je, co narusza poufność i integralność danych.
Rekomendacja
Zaleca się aktualizację Banks do wersji 2.5.1 oraz ograniczenie możliwości wpływania przez niezaufanych użytkowników na katalog rejestru promptów.
Inne podatności w Banks
Zobacz wszystkie- CVE-2026-107717Średnie
Banks generuje znaczące prompty LLM przy użyciu prostego języka szablonów. Przed wersją 2.5.0, Banks Prompt.chat_messages() próbuje sparsować każdą linię wyrenderowanego wyniku szablonu jako JSON ChatMessage. Gdy aplikacja renderuje niezaufane dane i przekazuje zwrócone obiekty ChatMessage do dostawcy LLM, JSON kontrolowany przez atakującego może przekroczyć granicę promptu i stać się wiadomością systemową, asystenta lub narzędzia, ponieważ ChatMessage.role akceptuje dowolne ciągi. Może to nadpisać instrukcje aplikacji, zmienić zamierzoną strukturę promptu lub zdezorientować dalsze przetwarzanie narzędzi i wiadomości. Ten problem został naprawiony w wersji 2.5.0.
- CVE-2026-71492Średnie
W bibliotece Banks przed wersją 2.4.5 funkcja DirectoryPromptRegistry.set() w src/banks/registries/directory.py interpoluje kontrolowane przez atakującego wartości Prompt.name i Prompt.version do ścieżki bez kanonizacji lub walidacji zawartości. Traversal względny, taki jak ../victim/foo, oraz absolutna wartość Prompt.name mogą ominąć lub odrzucić skonfigurowany katalog główny rejestru, a overwrite=True umożliwia nadpisanie istniejących plików docelowych. Zatruta nazwa jest zapisywana w index.json i odtwarzana przez _load(), co pozwala na przetrwanie ścieżki poza katalogiem głównym przy późniejszych ładowaniach rejestru. Aplikacja przekazująca dane żądań do tych pól może zapisać bajty Prompt.raw do ścieżek wybranych przez atakującego, które są zapisywalne przez proces aplikacji. Problem został naprawiony w wersji 2.4.5.
- CVE-2026-61536Wysokie
Banks przed wersją 2.4.3 zawiera podatność zdalnego wykonania kodu w blokach {% completion %}. Atakujący może dostarczyć złośliwy obiekt Tool JSON z polem import_path, które jest rozwiązywane przez importlib.import_module() i getattr() bez żadnej listy dozwolonych elementów. Gdy model LLM wywoła narzędzie o pasującej nazwie, atakujący może wykonać dowolny kod Python, np. os.system lub subprocess.getoutput.
- CVE-2026-62663Wysokie
Banks, biblioteka do generowania promptów LLM, w wersjach przed 2.4.4 zawiera podatność polegającą na braku sanityzacji ścieżek plików we wszystkich czterech filtrach multimediów (obraz, audio, wideo, dokument). Atakujący kontrolujący zmienne szablonu może użyć przejścia do katalogu nadrzędnego (../) do odczytu dowolnych plików, w tym plików .env, kluczy SSH, poświadczeń chmurowych i kodu źródłowego.
- CVE-2026-44209Wysokie
Biblioteka banks przed wersją 2.4.2 używa niezabezpieczonego środowiska jinja2.Environment() do renderowania szablonów promptów, co umożliwia atak Server-Side Template Injection (SSTI) prowadzący do zdalnego wykonania kodu (RCE) na hoście.
Oryginalny opis (angielski, źródło NVD)
Banks generates meaningful LLM prompts using a simple template language. Prior to 2.5.1, Banks DirectoryPromptRegistry does not reject symbolic links for index.json or discovered and existing .jinja prompt files. In an application where untrusted users can influence a prompt directory, DirectoryPromptRegistry._scan() and DirectoryPromptRegistry.get() can follow a link outside the registry root and disclose a file, while DirectoryPromptRegistry.set(), DirectoryPromptRegistry._save(), and DirectoryPromptRegistry._load() can read or overwrite an external link target. The issue requires attacker influence over the registry directory or its extracted contents. This issue is fixed in version 2.5.1.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

