GHSA-4q3w-w2g5-8wqq: Yeti: Path traversal in ExportTask name allows authenticated arbitrary file read and write
Yeti bridges the gap between CTI and DFIR practitioners by providing a Forensics Intelligence platform and pipeline. Prior to 2.5.1, YETI derives ExportTask.filename from the user-controlled task name and passes it to core/clients/filestorage/classes/localstorage.py without sanitizing traversal sequences or enforcing path confinement. A low-privileged authenticated user using the default local storage backend can call POST /api/v2/tasks/export/new with a traversal name and use ExportTask.filecontents through GET /api/v2/tasks/export/{exportid}/content to read files accessible to the YETI service account. Running ExportTask.run() can also write attacker-controlled export output to an attacker-selected writable path. The impact depends on the service account's filesystem permissions, and universal code execution is not established. This issue is fixed in version 2.5.1.
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
YETIto a version that resolves this vulnerability.Fixed in 2.5.1