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.
History

Wed, 13 May 2026 11:00:00 +0000

Type Values Removed Values Added
First Time appeared Simonw
Simonw llm
Vendors & Products Simonw
Simonw llm

Tue, 12 May 2026 18:45:00 +0000

Type Values Removed Values Added
Title Python Code Injection via llm CLI --functions Argument
Weaknesses CWE-94

Tue, 12 May 2026 17:30:00 +0000

Type Values Removed Values Added
Description 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.
References

cve-icon MITRE

Status: PUBLISHED

Assigner: mitre

Published:

Updated: 2026-05-12T17:12:23.080Z

Reserved: 2026-03-09T00:00:00.000Z

Link: CVE-2026-31236

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-05-12T18:16:51.977

Modified: 2026-05-12T18:16:51.977

Link: CVE-2026-31236

cve-icon Redhat

No data.