{"id":"CVE-2026-107716","revision":"c0f50c4744774233bb23cb5aac906bb5","records":[{"revision":"c0f50c4744774233bb23cb5aac906bb5","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-107716","aliases":[],"title":"Banks: Symlink traversal and arbitrary file disclosure/overwrite in DirectoryPromptRegistry","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.","state":0,"publishedAt":"2026-10-08T21:33:13.391+00:00","modifiedAt":"2026-10-09T15:13:19.781+00:00","affected":[{"ecosystem":"Vendor product","name":"banks","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"masci\",\n                    \"product\": \"banks\",\n                    \"versions\": [\n                        {\n                            \"version\": \"< 2.5.1\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 4.0","vector":"CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N","score":7.3,"severity":"HIGH"}],"references":["https://github.com/masci/banks/security/advisories/GHSA-556j-vv39-8rqv","https://github.com/masci/banks/pull/79","https://github.com/masci/banks/commit/23ed13e50b4e217693fa5f9c30943fac8a41582f","https://github.com/masci/banks/releases/tag/v2.5.1"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-107716","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-107716","identifiers":["CVE-2026-107716"]},"retained":false,"historicalAffected":[]}],"coverage":[]}