CVE-2026-61536 in banks정보

요약

\~에 의해 VulDB • 2026. 07. 30.

banks는 간단한 템플릿 언어를 사용하여 의미 있는 LLM 프롬프트를 생성합니다. 버전 2.4.3 이전의 banks에서는 {% completion %} 블록에서 렌더링된 본문으로부터 Tool JSON 객체를 파싱한 후, importlib.import_module(...) + getattr(...)을 통해 해당 tool_call을 처리할 호출 가능한 함수(callable)를 얻기 위해 `import_path` 필드를 해결합니다. `import_path`에 대한 허용 목록(allowlist)이나 sanitization이 없으므로, 임포트 가능한 모든 Python 속성(예: os.system, subprocess.getoutput)이 선택될 수 있습니다. LLM이 공격자가 제공한 tool 이름과 일치하는 function.name을 가진 tool_calls 항목을 생성하면, 해결된 callable은 tool_call.function.arguments에서 디코딩된 kwargs와 함께 호출되어 banks 호스팅 프로세스 내에서 임의 코드 실행(arbitrary code execution)을 초래합니다. 이는 GHSA-gphh-9q3h-jgpp / CVE-2026-44209과 구별됩니다. 해당 보안 권고는 2.4.2에서 src/banks/env.py를 Environment에서 SandboxedEnvironment로 전환함으로써 수정되었습니다. 그러나 이 수정은 src/banks/extensions/completion.py에는 영향을 미치지 않으며, 비안전한 import + getattr 체인은 여전히 2.4.2 버전에서 실행됩니다. 악의적인 Tool JSON은 렌더링된 템플릿 본문에 있는 일반 텍스트이므로 Jinja 속성 접근(access)이 필요하지 않아 샌드박스(sandbox)는 무의미합니다. 이 문제는 버전 2.4.3에서 수정되었습니다.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

책임이 있는

GitHub M

예약하다

2026. 07. 10.

모더레이션

수락

항목

VDB-384881

EPSS

0.00000

부문

Finance

출처

Do you want to use VulDB in your project?

Use the official API to access entries easily!