Skip to content
OpenAdvisories
High · 7.3 CVE-2026-107716 EUVD-2026-95340GHSA-556j-vv39-8rqvPYSEC-2026-4201

Banks: Symlink traversal and arbitrary file disclosure/overwrite in DirectoryPromptRegistry

Published Oct 8, 2026 · Updated Oct 9, 2026 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
masci banks < 2.5.1 —

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI banks < 2.5.1 2.5.1 GHSA-556j-vv39-8rqv

References