GHSA-9fpm-3445-2vx4: Code Injection

Published Oct 5, 2026
·
Updated

Summary

Langflow versions 1.3.0 through 1.10.2 contain a code-injection vulnerability in the Smart Transform (LambdaFilterComponent) component.

Smart Transform places flow-author instructions and a preview of its input data into a prompt asking an LLM to generate a Python lambda. It then extracts a one-line lambda from the model response, applies only syntactic format checks, evaluates it with Python's full builtins, and invokes the resulting function inside the Langflow process.

A malicious flow author can exploit this directly through the Instructions field. In deployments where an exposed flow passes attacker-controlled content into Smart Transform, an attacker may also exploit it indirectly through prompt injection, subject to the configured model following the injected instruction.

Vulnerability details

Vulnerable Code Location: src/lfx/src/lfx/components/llmoperations/lambdafilter.py (line 242 in v1.10.2)

python def validatelambda(self, lambdatext: str) -> bool: """Validate the provided lambda function text.""" return lambdatext.strip().startswith("lambda") and ":" in lambdatext

... return eval(lambdatext) # noqa: S307

For example, an attacker can attempt to make the model return:

lambda x: import("os").system("id")

This expression satisfies the vulnerable format checks. eval() creates the lambda with access to Python's default builtins, and the subsequent fn(data) invocation (in executelambda) executes the command.

Successful exploitation allows code execution with the privileges of the Langflow service process. This can expose or modify credentials, files, application data, and network resources accessible to that process, and may affect other tenants in shared deployments.

PoC

https://github.com/user-attachments/assets/13c48fe1-7225-4e0d-9687-2d2df1e87f0e

Fix

The reported path was addressed by validating the generated code's AST and evaluating it with a restricted builtins mapping.

The mainline fix is in PR #13530 (1641b28f) and shipped in Langflow 1.11.0. The 1.10.3 backport is in PR #14071 (94859df3). Users should upgrade to Langflow 1.10.3 or later.

Workarounds

Until an upgrade is possible: - Remove Smart Transform from runnable flows. - Restrict flow creation, editing, and execution to trusted users. - Do not route untrusted or externally controlled data through Smart Transform. - Limit the Langflow process's filesystem, network, and credential access.

Credit

- Peyton Kennedy (p80n-sec) of Endor Labs — reporter (original finder) - SZXSec — reporter (duplicate report) - cyjhhh — reporter (duplicate report) - 0gur1 — reporter (duplicate report) - ajm4n — reporter (duplicate report, Finding 1 of a multi-finding submission) - andifilhohub — analyst - Jordan Frazier (jordanrfrazier) — remediation developer

Affected Software

1 affected componentFixes available
pip/langflow>=1.3.0<1.10.3
1.10.3

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade pip/langflow to a version that resolves this vulnerability.

    Fixed in 1.10.3
  2. Upgrade

    Upgrade Langflow to a version that resolves this vulnerability.

    Fixed in 1.10.3
  3. Remove

    Remove Langflow Smart Transform (LambdaFilterComponent) from your environment.

    Remove Smart Transform from runnable flows.

  4. Compensating control

    Do not route untrusted or externally controlled data through Smart Transform.

  5. Compensating control

    Limit the Langflow process's filesystem, network, and credential access.

  6. Compensating control

    Restrict flow creation, editing, and execution to trusted users.

Event History

Oct 5, 2026
Advisory Published
via GitHub·10:30 PM
Data Sourced
via GitHub·10:30 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Which deployments are most exposed?

Deployments where untrusted or insufficiently trusted users can author or modify flows using Smart Transform are directly exposed. Deployments with an exposed flow that passes attacker-controlled content into Smart Transform may also be exposed through prompt injection.

2

What does an attacker need to exploit this issue?

A malicious flow author can place a payload in the Smart Transform Instructions field. For indirect exploitation, attacker-controlled input must reach Smart Transform and the configured model must follow the injected instruction.

3

What is the impact of successful exploitation?

The generated lambda is evaluated with Python's full builtins and then invoked inside the Langflow process. Successful exploitation can therefore execute attacker-controlled code in that process.

4

How can I identify potentially affected installations?

Langflow versions 1.3.0 through 1.10.2 are affected. Prioritize instances that use the Smart Transform LambdaFilterComponent, especially where flow authors or flow input are not fully trusted.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203