| 제목 | premsql v0.2.1 Code Injection |
|---|
| 설명 | A Remote Code Execution (RCE) vulnerability exists in the premsql library due to the unsafe usage of eval() on language model outputs. An attacker can use prompt injection to force the LLM to output malicious Python code, which is then executed by the server.
```python
try:
result = self.generator.generate(
data_blob={"prompt": prompt},
temperature=temperature,
max_new_tokens=max_new_tokens,
postprocess=False,
)
# VULNERABILITY HERE:
result = eval(result.replace("null", "None"))
error_from_model = None
assert "alternate_decision" in result
assert "suggestion" in result
```
The `result` variable contains the raw string output from the LLM. The application attempts to parse this as a Python dictionary using `eval()`. However, if the LLM output is manipulated to contain valid Python commands (e.g., `__import__('os').system('calc')`), `eval()` will execute them. |
|---|
| 원천 | ⚠️ https://github.com/Ka7arotto/cve/blob/main/premsql-rce/issue.md |
|---|
| 사용자 | Goku (UID 80486) |
|---|
| 제출 | 2026. 03. 21. AM 02:50 (19 날 ago) |
|---|
| 모더레이션 | 2026. 04. 05. AM 07:12 (15 days later) |
|---|
| 상태 | 수락 |
|---|
| VulDB 항목 | 355388 [premAI-io premsql 까지 0.2.1 followup.py eval result 권한 상승] |
|---|
| 포인트들 | 20 |
|---|