CVE-2026-31236
CriticalCVSS 9.8Exploitation Probability (EPSS)
Low risk25th percentile - higher than 25% of all known CVEs
Summary
The llm CLI tool through version 0.27.1 contains a critical code injection vulnerability via the --functions argument. This argument allows custom Python function definitions, but the code is directly executed using the unsafe exec() function without any sanitization. An attacker can exploit this by crafting a malicious llm command with arbitrary Python code and tricking a victim into running it.
Risk Assessment
The risk for the organization includes full system compromise by the attacker, potentially leading to data theft, malware installation, or further attacks on the infrastructure.
Recommendation
Immediately update the llm tool to the latest version that fixes this vulnerability. Until updated, avoid using the --functions argument with untrusted data.
Related vulnerabilities
- CVE-2026-19572Critical
A security vulnerability has been identified in FlexNet Publisher lmadmin. The vulnerability exists in a SOAP handler, where a hardcoded authentication bypass could allow an unauthenticated user to obtain a privileged administrator session without providing valid credentials.
- CVE-2026-16516Critical
wolfSSH does not validate that the ECDSA curve identifier in a KEXDH_REPLY host key blob matches the algorithm negotiated during key exchange. An active man-in-the-middle attacker can substitute a host key blob containing a different ECDSA curve, causing the client to import the key on the wrong curve, and because the attacker controls the private key for the substituted curve, signature verification passes.
- CVE-2026-14911Critical
Improper Neutralization of Input During Web Page Generation (Cross-site Scripting) in ASUS router modules allows a remote attacker to read DOM information, modify router settings, and cause a denial-of-service condition when an authenticated user visits a crafted URL.
- CVE-2026-19386Critical
A stack-based buffer overflow in the ASUS router modules allows an authenticated nearby user to execute arbitrary code via a crafted configuration file upload that exceeds the expected buffer size.
- CVE-2026-105324Critical
An HTTP header injection vulnerability in start-page-loader.cgi of ADM allows an unauthenticated remote attacker to read arbitrary files on the host system. By sending a crafted HTTP request with injected headers via the state parameter, the attacker can leverage the underlying web server's X-Sendfile mechanism to retrieve sensitive files without authentication.
- CVE-2026-93674Critical
IBM Langflow OSS 1.0.0 through 1.12.2 could allow a remote attacker to execute arbitrary code due to improper neutralization of special elements used in an OS command.
- CVE-2026-104334Critical
IBM Langflow OSS 1.0.0 through 1.12.2 could allow a remote attacker to execute arbitrary code due to improper control of code generation.
- CVE-2026-106501Critical
Backstage is an open framework for building developer portals. Prior to versions 3.3.1, 3.4.1, 4.0.3 and 4.1.0, the @backstage/plugin-scaffolder-backend package is affected by sensitive information exposure in scaffolder. An authenticated Backstage user who can read another user's Scaffolder task may receive internal execution data.
- CVE-2026-105812Critical
Improper control of code generation in the agent import functionality of Amazon Bedrock AgentCore Starter Toolkit before 0.3.14 might allow an authenticated same-account actor to execute arbitrary code when a user imports and runs or deploys a Bedrock Agent, via crafted configuration values incorporated into generated Python source without safe literal encoding.
- CVE-2026-79805Critical
An authenticated path traversal vulnerability exists in ClearPass Policy Manager. Successful exploitation could allow an attacker to read and modify certain files on the underlying operating system.
Original NVD description (English source)
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.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

