CVE-2026-61536
Təsvir
Banks sadə şablon dili istifadə edərək mənalı LLM promptları yaradır. 2.4.3 versiyasından əvvəlki versiyalarda banks, {% completion %} bloklarının render edilmiş gövdəsindən Tool JSON obyektlərini analiz edir və daha sonra alət çağırışını idarə edən çağıran funksiyanı (callable) əldə etmək üçün onların import_path sahəsini importlib.import_module(...) + getattr(...) vasitəsilə həll edir. import_path üzərində heç bir icazəli siyahı (allowlist) və ya təmizləmə prosesi yoxdur, buna görə də hər hansı idxal edilə bilən Python atributu (məsələn, os.system, subprocess.getoutput) seçilə bilər. LLM, function.name hissəsi hücum edən tərəf tərəfindən təmin edilən alət adı ilə uyğun gələn tool_calls yazısı çıxardıqda, həll edilmiş çağıran funksiya tool_call.function.arguments-dən dekodlaşdırılmış kwargs ilə çağırılır ki, bu da banks-hosting prosesində ixtiyari kodun icrasına səbəb olur. Bu, GHSA-gphh-9q3h-jgpp / CVE-2026-44209-dan fərqlidir. Həmin bildiriş 2.4.2 versiyasında src/banks/env.py faylının Environment-dan SandboxedEnvironment-a keçirilməsi ilə düzəldilmişdi. Lakin bu düzəliş src/banks/extensions/completion.py faylına toxunmur və təhlükəli import + getattr zənciri 2.4.2 versiyasında hələ də işləyir. Zərərli Tool JSON render edilmiş şablon gövdəsində adi mətndir — bunun üçün Jinja atributuna giriş tələb olunmur, ona görə də qum qutusu (sandbox) əhəmiyyətsizdir. Bu problem 2.4.3 versiyasında düzəldilib.
Necə düzəltmək olar
- banks2.4.3 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| masci banks | < 2.4.3 | — |
| banksPyPI | v ≤ 2.4.2 | 2.4.3 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.