Summary
CVE-2026-84702 is a path traversal vulnerability (CWE-22) in FaceFusion, an open-source face-swapping/deepfake toolkit, affecting all versions prior to 3.7.0. The flaw resides in the job management code’s handling of job identifiers, allowing an unauthenticated remote attacker to write arbitrary files to the filesystem through FaceFusion’s HTTP-exposed Gradio API. The issue has a CVSS v4.0 base score of 8.7 (High) and a CVSS v3.1 base score of 7.5 (High).
Technical details
- Root cause: The
get_job_file_nameandsuggest_job_pathfunctions infacefusion/jobs/job_manager.pyconstruct on-disk job file paths by concatenating an attacker-controlledjob_idvalue with the jobs directory usingos.path.join, without normalizing or rejecting directory traversal sequences (e.g.,../). Asanitize_job_idfunction exists and is applied in the CLI path, but the Gradio-based HTTP API does not invoke this sanitizer. - Trigger conditions: An attacker submits a
create_jobrequest (via the/gradio_api/run/endpoint exposed by FaceFusion’s web UI) containing a craftedjob_id, such as../../../../tmp/attacker_owned. - Attack vector: Network-based, no authentication and no user interaction required (per both CVSS v3.1 and v4.0 vectors).
- Impact: The unsanitized path is passed through
create_job_file/write_json(facefusion/json.py), allowing the application to write a JSON file to an arbitrary filesystem location writable by the FaceFusion process. This can be used to overwrite or plant configuration files or otherwise corrupt data outside the intended jobs directory. Public analysis characterizes the primary impact as integrity loss (arbitrary file write), without confirmed impact to confidentiality or availability.
Affected software
- FaceFusion versions 0 up to (but not including) 3.7.0
- Vulnerable code confirmed present in the 3.6.1 release of
facefusion/jobs/job_manager.py
Severity
- CVSS v3.1 Base Score: 7.5 (High) —
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - CVSS v4.0 Base Score: 8.7 (High) —
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Mitigation and recommended actions
- Immediate: Upgrade FaceFusion to version 3.7.0 or later, which fixes the job identifier normalization issue (patch commit
a2cbfd73b10191e51ed2eb1e83c19121153e0a22). - If unable to patch immediately:
- Do not expose the FaceFusion Gradio web UI/API directly to the internet or untrusted networks; restrict access behind authentication and network-level controls (firewall/VPN/allow-listing).
- Run FaceFusion under a low-privilege service account with write access limited to the intended jobs directory to reduce the blast radius of any arbitrary file write.
- Monitor for unexpected file creation/modification outside the configured jobs directory as an indicator of exploitation attempts.

