The Vanna library uses a prompt function to present the user with visualized results, it is possible to alter the prompt using prompt injection and run arbitrary Python code instead of the intended visualization code. Specifically - allowing external input to the library’s “ask” method with "visualize" set to True (default behavior) leads to remote code execution.
Threat-Mapped Scoring
Score: 1.8
Priority: P4 - Informational (Low)
S9 – Sabotage of System/App
EPSS
Score: 0.03973 Percentile:
0.87899
CVSS Scoring
CVSS v3.1 Score: 8.1
Severity: HIGH
Mapped CWE(s)
CWE-94
: Improper Control of Generation of Code ('Code Injection')
All CAPEC(s)
CAPEC-242: Code Injection
CAPEC-35: Leverage Executable Code in Non-Executable Files
CAPEC-77: Manipulating User-Controlled Variables
CAPEC(s) with Mapped TTPs
CAPEC-35: Leverage Executable Code in Non-Executable Files
Mapped TTPs: