llm CLI -functions argumentMITRE service request: 1988584
Status: RESERVED (pending a qualifying public reference per CNA Rules §5.3).
The llm CLI tool thru 0.27.1 contains a critical code injection vulnerability via its –functions command-line argument. This argument is intended to allow users to provide custom Python function definitions. However, the tool directly executes the provided code using the unsafe exec() function without any sanitization, sandboxing, or security restrictions. An attacker can exploit this by crafting a malicious llm command with arbitrary Python code in the –functions argument and using social engineering to trick a victim into running it. This leads to arbitrary code execution on the victim’s system, potentially granting the attacker full control.
llm passes the literal --functions string into exec, so any copied “example command” from the internet can embed reverse shells. Victim only needs to paste into their shell once.
921fae9a0ad3d664a872e35e4639b16089b61c1d).-functions accepting multi-line Python.exec() of attacker-controlled source in-process.exec path.High — classic copy-paste trojan channel.