CVE-2026-44209
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 42 - wyżej niż 42% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Organizacja narażona jest na zdalne wykonanie kodu na serwerze, jeśli aplikacja przekazuje dane użytkownika jako argument template do Prompt().
Rekomendacja
Należy zaktualizować banks do wersji 2.4.2 lub nowszej oraz unikać przekazywania danych użytkownika jako szablonów do Prompt().
Inne podatności w banks
Zobacz wszystkie- 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.
Oryginalny opis (angielski, źródło NVD)
Banks generates meaningful LLM prompts using a template language that makes sense. Prior to 2.4.2, banks uses jinja2.Environment() (unsandboxed) to render prompt templates. Applications that pass user-supplied strings as the template argument to Prompt() are vulnerable to Server-Side Template Injection (SSTI), which can lead to Remote Code Execution (RCE) on the host system. This vulnerability is fixed in 2.4.2.

