GHSA-vmwq-8g8c-jm79
OpenChatBI has a Path Traversal Vulnerability in save_report Tool
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| PyPI | openchatbi | < 0.2.2 | 0.2.2 |
Details
As written in the advisory (Markdown source, shown as plain text).
### Impact
The `save_report` tool in `openchatbi/tool/save_report.py` suffers from a critical path traversal vulnerability due to insufficient input sanitization of the `file_format` parameter.
The function only removes leading dots of `file_format` using `file_format.lstrip(".")` but allows path traversal sequences like `/../../` to pass through unchanged. When the filename is constructed via string concatenation in
f"{timestamp}_{clean_title}.{file_format}"
malicious path sequences are preserved, enabling attackers to write files outside the designated report directory.
An attacker can manipulate the LLM to call the tool with a specific `file_format` to overwrite critical system files like `__init__.py`, potentially leading to remote code execution.
### Patches
- Affected versions:
<=0.2.1
- Patched versions:
0.2.2 (includes fix from PR #12: https://github.com/zhongyu09/openchatbi/pull/12)
### Workarounds
No
### References
- Issue #10: https://github.com/zhongyu09/openchatbi/issues/10
- PR #12: https://github.com/zhongyu09/openchatbi/pull/12
References
External links from the advisory. They lead to third-party sites.
- https://github.com/zhongyu09/openchatbi/security/advisories/GHSA-vmwq-8g8c-jm79
- https://nvd.nist.gov/vuln/detail/CVE-2026-28795
- https://github.com/zhongyu09/openchatbi/issues/10
- https://github.com/zhongyu09/openchatbi/pull/12
- https://github.com/zhongyu09/openchatbi/commit/372a7e861da5159c3106d64d6f6edf8284db8c75
- https://github.com/zhongyu09/openchatbi