CVE-2026-63502
HighCVSS 8.3Summary
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.file_name from the user-controlled task name and passes it to local_storage.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 read files accessible to the YETI service account.
Risk Assessment
A low-privileged user could read files accessible to the YETI service account and write export output to an attacker-selected path, depending on the service account's filesystem permissions.
Recommendation
Update YETI to version 2.5.1 or later and restrict the filesystem permissions of the YETI service account.
Other vulnerabilities in YETI
See all- CVE-2026-63500High
In Yeti prior to 2.5.1, the uuid from DFIQ YAML is not validated on import via POST /api/v2/dfiq/from_yaml and is later interpolated into an archive filesystem path in POST /api/v2/dfiq/to_archive. A low-privileged authenticated user can import a DFIQ object whose UUID contains traversal sequences and trigger archive export, writing attacker-controlled content with a .yaml suffix outside the intended temporary archive directory.
- CVE-2026-63489High
In Yeti 2.5.0 and earlier, user-controlled sorting fields and filter_aliases attribute paths are interpolated into ArangoDB AQL identifier and expression positions in core/database_arango.py. A low-privileged authenticated user can send crafted values to search endpoints, causing attacker-controlled AQL subexpressions to be parsed and evaluated.
- CVE-2026-63482High
In Yeti prior to 2.5.1, the audit router is registered without Depends(auth.get_current_active_user), and core/web/apiv2/audit.py performs no route-level authentication check for /api/v2/audit/timeline/{id}. An unauthenticated network attacker can query TimelineLog records containing analyst usernames, object identifiers and values, and before-and-after object data.
- CVE-2026-92783High
Yeti through 2.11.0 fails to validate caller permissions in the DELETE /api/v2/rbac/{id} endpoint, allowing users with read access to delete access control relationships. Attackers can revoke the owner's grant and permanently lock legitimate owners out of objects.
Original NVD description (English source)
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.file_name from the user-controlled task name and passes it to core/clients/file_storage/classes/local_storage.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.file_contents through GET /api/v2/tasks/export/{export_id}/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.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

