| tiêu đề | langflow-ai langflow 1.8.4 Command Injection |
|---|
| Mô tả | The `CodeParser.parse_callable_details()` method extracts the annotation string via `ast.unparse()` when parsing function return type annotations and directly passes it to `eval()` for execution. The execution environment (`eval_env`) for `eval()` is constructed by `construct_eval_env()`, but `__builtins__ = {}` is never set.
The Python specification stipulates: When the globals dict passed to eval() does not contain the __builtins__ key, the Python interpreter automatically adds the full builtins module. As a result, all built-in functions such as __import__, open, exec, and eval can be used in the eval environment.
We can embed malicious expressions (such as __import__('os').popen('cmd').read()) in the return type annotations of functions within custom component code. When the CodeParser processes this code, the eval() function will execute the expression directly. |
|---|
| Nguồn | ⚠️ https://www.yuque.com/yuqueyonghuqy8yu4/ghuay4/ylrgoyyfrucp8opo?singleDoc=#g4kyb |
|---|
| Người dùng | limshow (UID 92836) |
|---|
| Đệ trình | 07/04/2026 17:09 (cách đây 2 các tháng) |
|---|
| Kiểm duyệt | 02/05/2026 18:06 (25 days later) |
|---|
| Trạng thái | được chấp nhận |
|---|
| Mục VulDB | 360857 [langflow-ai langflow đến 1.8.4 Full Builtins code_parser.py CodeParser.parse_callable_details nâng cao đặc quyền] |
|---|
| điểm | 20 |
|---|