9.8 CVE-2025-3248

CISA Kev Catalog CSRF Patch Exploit
 

Langflow versions prior to 1.3.0 are susceptible to code injection in the /api/v1/validate/code endpoint. A remote and unauthenticated attacker can send crafted HTTP requests to execute arbitrary code.
https://nvd.nist.gov/vuln/detail/CVE-2025-3248

Categories

CWE-306 : Missing Authentication for Critical Function
The product does not perform any authentication for functionality that requires a provable user identity or consumes a significant amount of resources. For any security checks that are performed on the client side, ensure that these checks are duplicated on the server side, in order to avoid CWE-602. Attackers can bypass the client-side checks by modifying values after the checks have been performed, or by changing the client to remove the client-side checks entirely. Then, these modified values would be submitted to the server. When storing data in the cloud (e.g., S3 buckets, Azure blobs, Google Cloud Storage, etc.), use the provider's controls to require strong authentication for users who should be allowed to access the data [REF-1297] [REF-1298] [REF-1302]. File-sharing PHP product does not check if user is logged in during requests for PHP library files under an includes/ directory, allowing configuration changes, code execution, and other impacts. Chain: a digital asset management program has an undisclosed backdoor in the legacy version of a PHP script (CWE-912) that could allow an unauthenticated user to export metadata (CWE-306) TCP-based protocol in Programmable Logic Controller (PLC) has no authentication. Condition Monitor firmware uses a protocol that does not require authentication. SCADA-based protocol for bridging WAN and LAN traffic has no authentication. Safety Instrumented System uses proprietary TCP protocols with no authentication. Distributed Control System (DCS) uses a protocol that has no authentication. Chain: Cloud computing virtualization platform does not require authentication for upload of a tar format file (CWE-306), then uses .. path traversal sequences (CWE-23) in the file to access unexpected files, as exploited in the wild per CISA KEV. Bluetooth speaker does not require authentication for the debug functionality on the UART port, allowing root shell access WiFi router does not require authentication for its UART port, allowing adversaries with physical access to execute commands as root IT management product does not perform authentication for some REST API requests, as exploited in the wild per CISA KEV. Default setting in workflow management product allows all API requests without authentication, as exploited in the wild per CISA KEV. MFV. Access TFTP server without authentication and obtain configuration file with sensitive plaintext information. Agent software running at privileges does not authenticate incoming requests over an unprotected channel, allowing a Shatter" attack. Product enforces restrictions through a GUI but not through privileged APIs. monitor device allows access to physical UART debug port without authentication Programmable Logic Controller (PLC) does not have an authentication feature on its communication protocols.

CWE-94 : Improper Control of Generation of Code ('Code Injection')
The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment. Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.) Refactor your program so that you do not have to dynamically generate code. Use automated static analysis tools that target this type of weakness. Many modern techniques use data flow analysis to minimize the number of false positives. This is not a perfect solution, since 100% accuracy and coverage are not feasible. Use dynamic tools and techniques that interact with the product using large test suites with many diverse inputs, such as fuzz testing (fuzzing), robustness testing, and fault injection. The product's operation may slow down, but it should not become unstable, crash, or generate incorrect results. Run the code in an environment that performs automatic taint propagation and prevents any command execution that uses tainted variables, such as Perl's "-T" switch. This will force the program to perform validation steps that remove the taint, although you must be careful to correctly validate your inputs so that you do not accidentally mark dangerous inputs as untainted (see CWE-183 and CWE-184). Run the code in an environment that performs automatic taint propagation and prevents any command execution that uses tainted variables, such as Perl's "-T" switch. This will force the program to perform validation steps that remove the taint, although you must be careful to correctly validate your inputs so that you do not accidentally mark dangerous inputs as untainted (see CWE-183 and CWE-184). Math component in an LLM framework translates user input into a Pythonexpression that is input into the Python exec() method, allowing codeexecution - one variant of a "prompt injection" attack. Python-based library uses an LLM prompt containing user input todynamically generate code that is then fed as input into the Pythonexec() method, allowing code execution - one variant of a "promptinjection" attack. Framework for LLM applications allows eval injection via a crafted response from a hosting provider. Python compiler uses eval() to execute malicious strings as Python code. Chain: regex in EXIF processor code does not correctly determine where a string ends (CWE-625), enabling eval injection (CWE-95), as exploited in the wild per CISA KEV. "Code injection" in VPN product, as exploited in the wild per CISA KEV. Eval injection in PHP program. Eval injection in Perl program. Eval injection in Perl program using an ID that should only contain hyphens and numbers. Direct code injection into Perl eval function. Eval injection in Perl program. Direct code injection into Perl eval function. Direct code injection into Perl eval function. MFV. code injection into PHP eval statement using nested constructs that should not be nested. MFV. code injection into PHP eval statement using nested constructs that should not be nested. Code injection into Python eval statement from a field in a formatted file. Eval injection in Python program. chain: Resultant eval injection. An invalid value prevents initialization of variables, which can be modified by attacker and later injected into PHP eval statement. Perl code directly injected into CGI library file from parameters to another CGI program. Direct PHP code injection into supporting template file. Direct code injection into PHP script that can be accessed by attacker. PHP code from User-Agent HTTP header directly inserted into log file implemented as PHP script.

References


 

CPE

cpe start end
Configuration 1
cpe:2.3:a:langflow:langflow:*:*:*:*:*:*:*:* < 1.3.0


REMEDIATION


Patch

Url
https://github.com/langflow-ai/langflow/pull/6911


EXPLOITS


Exploit-db.com

id description date
No known exploits

POC Github

Url
https://github.com/PuddinCat/CVE-2025-3248-POC
https://github.com/verylazytech/CVE-2025-3248

Other Nist (github, ...)

Url
https://www.horizon3.ai/attack-research/disclosures/unsafe-at-any-speed-abusi...


CAPEC


Common Attack Pattern Enumerations and Classifications

id description severity
12 Choosing Message Identifier
High
166 Force the System to Reset Values
Medium
216 Communication Channel Manipulation
36 Using Unpublished Interfaces or Functionality
High
62 Cross Site Request Forgery
Very High
242 Code Injection
High
35 Leverage Executable Code in Non-Executable Files
Very High
77 Manipulating User-Controlled Variables
Very High


MITRE


Techniques

id description
T1027.006 Obfuscated Files or Information: HTML Smuggling
T1027.009 Obfuscated Files or Information: Embedded Payloads
T1564.009 Hide Artifacts: Resource Forking
© 2022 The MITRE Corporation. This work is reproduced and distributed with the permission of The MITRE Corporation.

Mitigations

id description
M1048 Browser sandboxes can be used to mitigate some of the impact of exploitation, but sandbox escapes may still exist.
M1040 On Windows 10, enable Attack Surface Reduction (ASR) rules to prevent execution of potentially obfuscated scripts.
M1013 Configure applications to use the application bundle structure which leverages the <code>/Resources</code> folder location.
© 2022 The MITRE Corporation. Esta obra se reproduce y distribuye con el permiso de The MITRE Corporation.