CVE-2026-61536 in banksinformation

Résumé

par VulDB • 30/07/2026

Banks génère des invites LLM (LLM prompts) pertinentes à l’aide d’un langage de modèle simple. Dans les versions antérieures à la 2.4.3, banks analyse les objets JSON Tool contenus dans le corps rendu des blocs {% completion %}, puis résout leur champ import_path via importlib.import_module(...) + getattr(...) afin d’obtenir la fonction callable chargée de traiter un appel d’outil. Aucune liste blanche (allowlist) ni sanitization n’est appliquée sur import_path, ce qui permet de sélectionner n’importe quel attribut Python importable (par exemple os.system, subprocess.getoutput). Lorsque le LLM émet une entrée tool_calls dont la fonction.name correspond au nom d’outil fourni par l’attaquant, la callable résolue est invoquée avec les kwargs décodées depuis tool_call.function.arguments, ce qui entraîne une exécution de code arbitraire dans le processus hébergeant banks. Ce problème est distinct de GHSA-gphh-9q3h-jgpp / CVE-2026-44209. Cette dernière a été corrigée dans la version 2.4.2 en remplaçant Environment par SandboxedEnvironment dans src/banks/env.py. La correction n’affecte pas src/banks/extensions/completion.py, et la chaîne d’importation non sécurisée suivie de getattr() s’exécute toujours sur la version 2.4.2. Le JSON Tool malveillant est du texte brut dans le corps du modèle rendu ; il ne nécessite aucun accès aux attributs Jinja, rendant ainsi l’environnement sandboxé sans effet. Ce problème a été corrigé dans la version 2.4.3.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsable

GitHub M

Réserver

10/07/2026

Divulgation

30/07/2026

Modérer

accepté

Entrée

VDB-384881

CPE

prêt

EPSS

0.00000

KEV

non

Activités

très faible

Secteur

Finance

Sources

Want to stay up to date on a daily basis?

Enable the mail alert feature now!