Skip to main content

Yeti Platform EUVDEUVD-2026-116268

| CVE-2026-63500 HIGH
Path Traversal (CWE-22)
2026-11-03 GitHub_M
7.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privileged user
  2. Exploit
    Import DFIQ YAML with traversal UUID
  3. Execution
    Trigger POST /api/v2/dfiq/to_archive export
  4. Impact
    Write attacker-controlled .yaml outside temp dir

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The attacker must hold a valid authenticated YETI account (non-admin is sufficient, PR:L) with permission to import DFIQ YAML via POST /api/v2/dfiq/from_yaml and to trigger DFIQ archive export via POST /api/v2/dfiq/to_archive. The specific trigger is a DFIQ object whose uuid field is set to a string containing path-traversal sequences (e.g. '../../../../tmp/yeti_dfiq_pwn'), which core/schemas/dfiq.py accepts without validating it as a real UUID and core/web/apiv2/dfiq.py then interpolates directly into the export filesystem path. Limiting factors that reduce realistic risk: authentication is required (not remote-unauthenticated), the primitive is write-only with attacker-controlled content forced to carry a .yaml suffix, and the reachable targets are bounded strictly to paths writable by the YETI service account. Further escalation beyond file write is not guaranteed and depends on deployment-specific writable paths and whether another component later loads the written YAML.

Impact

This is a genuine but moderate-priority issue, consistent with its 7.1 CVSS and the vuln.today 'this_week' decision label rather than an emergency. The CVSS vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L is network-reachable and low-complexity, but PR:L means a valid authenticated account is a hard prerequisite, which substantially narrows the exploit population to insiders or attackers who already hold credentials. Impact is scoped as I:H / A:L with C:N - a write-only arbitrary-file-write primitive, not code execution or data disclosure, and the advisory is explicit that it does not claim universal RCE. No EPSS score is provided in the input and the CVE is not on CISA KEV, so there is no signal of active or widespread exploitation; however, a detailed, lab-verified proof-of-concept is published in the GHSA advisory, so exploitability is well-established even if weaponization in the wild is not. Net: a real, confirmed, fixable vulnerability worth patching on a normal cycle, but the authentication requirement and write-only impact keep it below drop-everything urgency; the main residual risk is escalation if a written .yaml file is later loaded by another component, which the advisory flags as deployment-dependent and unproven.

Exploit ScenarioDerived

A low-privileged authenticated analyst imports a DFIQ object via POST /api/v2/dfiq/from_yaml whose uuid field contains a traversal sequence such as '../../../../../../tmp/yeti_dfiq_pwn', then calls POST /api/v2/dfiq/to_archive to trigger export. During export YETI interpolates the unvalidated uuid into the output path and writes attacker-controlled YAML content to a .yaml file outside the temporary archive directory, limited to locations writable by the YETI service account. A working PoC verified in the reporter's authorized lab is published in the GHSA advisory; it is not independently verified as a weaponized exploit against production deployments.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Nov 03, 2026

Path traversal in YETI's DFIQ import/export pipeline allows a low-privileged authenticated user to write attacker-controlled YAML content outside the intended temporary archive directory. Importing a DFIQ object whose uuid field carries traversal sequences through POST /api/v2/dfiq/from_yaml, then calling POST /api/v2/dfiq/to_archive, causes the service to create a .yaml file at an arbitrary path the YETI service account can write; the primitive is write-only and the filename suffix is forced. YETI releases prior to 2.5.1 are affected, the vendor advisory includes a proof-of-concept that was reproduced against an authorized lab instance, and there is no CISA KEV listing indicating active exploitation in real deployments.

RemediationAI

Vendor-released patch: upgrade to YETI 2.5.1, which validates uuid as a real UUID at DFIQ YAML import and confines export writes to the resolved temporary archive base (rejecting traversal with HTTP 400). Apply the fix through the 2.5.1 release (https://github.com/yeti-platform/yeti/releases/tag/2.5.1) or cherry-pick commit 8e36bd0000f98f625540e37eeb9f304c684e8394 / PR https://github.com/yeti-platform/yeti/pull/1279; advisory details are in GHSA-6xf2-8436-rgvf. Because malicious UUID values are persisted at import time in ArangoDB, upgrading does not clean existing records - audit stored DFIQ objects for uuid values that are not valid UUIDs before triggering any archive export, and delete or correct them. If the upgrade cannot be applied immediately, the practical compensating control is to restrict access to POST /api/v2/dfiq/from_yaml and POST /api/v2/dfiq/to_archive to administrator accounts, understanding that this removes DFIQ import/export capability from analyst workflows; running the YETI service account with write access to the narrowest possible set of directories also limits where the traversal can land, at the cost of tighter operational constraints on data/temp paths.

Affected VersionsENISA

yeti ≤ 2.5.0

Affected Packages

euvd yeti no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

YETI (Your Everyday Threat Intelligence) is a Python application, typically served by Uvicorn/FastAPI-style APIV2 endpoints with ArangoDB and Redis backing services, that ingests DFIQ (Detection & Forensics Investigation Questions) objects as YAML. The root cause is CWE-22 / CWE-73: the YAML parser in core/schemas/dfiq.py validates several DFIQ fields but accepts uuid as an unconstrained string, so nothing enforces that it is a real UUID or a safe single filename component. During archive export in core/web/apiv2/dfiq.py the stored identifier is interpolated straight into a filesystem path (f"{tempdir}/public/{obj.uuid}.yaml"), which lets ../ sequences escape the per-request temporary directory and land in any directory writable by the service account. The upstream fix adds uuid.UUID(str(value)) validation at parse time and, in the export handler, resolves the base and target paths with pathlib.Path and rejects writes whose resolved target is not is_relative_to the base (HTTP 400 'Invalid DFIQ UUID in export path'), with tests migrated from fake identifiers to real UUIDs. The advisory explicitly separates this from the previously reported /from_archive zip-slip candidate, which was refuted because Python's ZipFile.extractall() normalizes .. components; the two issues share a code area but not a root cause or fix.

Know when Yeti gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L
vuln.today AI 7.1 HIGH

Network API exploitation with a simple payload (AV:N/AC:L), requires a low-privileged authenticated account (PR:L), write-only primitive so C:N, arbitrary file write gives I:H and possible corruption/disk-fill A:L.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
Low

DescriptionCVE.org

Yeti bridges the gap between CTI and DFIR practitioners by providing a Forensics Intelligence platform and pipeline. Prior to 2.5.1, core/schemas/dfiq.py accepts an unvalidated uuid from DFIQ YAML through POST /api/v2/dfiq/from_yaml, and core/web/apiv2/dfiq.py later interpolates that stored value 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, causing attacker-controlled content with a .yaml suffix to be written outside the intended temporary archive directory. The impact is limited by paths writable by the YETI service account, and the separate DFIQ archive-import zip-slip candidate is not part of this vulnerability. This issue is fixed in version 2.5.1.

Technical POC Analysis

CWE-22 (Path Traversal), with the advisory also tagging CWE-73 (External Control of File Name or Path).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

CVE-2026-63500 is a high-severity path traversal vulnerability in YETI's DFIQ import/export pipeline that could allow a low-privileged authenticated user to write arbitrary YAML files outside intended directories, potentially enabling data tampering or service disruption. While no active exploitation has been observed, the availability of a public proof-of-concept increases the urgency for organizations using YETI versions prior to 2.5.1 to apply mitigations and plan upgrades.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include restricting access to the DFIQ import/export API endpoints to trusted users, monitoring for suspicious file writes, and disabling the functionality if not critical.

Threat Intelligence Overview

Prevalence
Low
niche CTI/DFIR threat-intelligence platform, limited enterprise footprint
Data Quality
3 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS N/A
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy