제출 #798731: langflow-ai langflow 1.8.4 Command Injection
| 제목 | langflow-ai langflow 1.8.4 Command Injection |
|---|---|
| 설명 | 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. |
| 원천 | ⚠️ https:/ |
| 사용자 | limshow (UID 92836) |
| 제출 | 2026. 04. 07. PM 05:09 (2 개월 ago) |
| 모더레이션 | 2026. 05. 02. PM 06:06 (25 days later) |
| 상태 | 수락 |
| VulDB 항목 | 360857 [langflow-ai langflow 까지 1.8.4 Full Builtins code_parser.py CodeParser.parse_callable_details 권한 상승] |
| 포인트들 | 20 |