GitHub Advisoryadvisory · npm

GHSA-27vg-33gh-4hwg Actual Sync Server has an Authenticated Path Traversal

MEDIUM Published 2026-03-10 Modified 2026-03-10 Official page ↗
Aliases
CVE-2026-3089
Ecosystem
npm
Packages
@actual-app/sync-server
Severity
Moderate
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Weaknesses
CWE-22
Reviewed
2026-03-10

Affected packages

• npm @actual-app/sync-server: < 26.3.0 → fixed in 26.3.0

Description

Description Actual Sync Server allows authenticated users to upload files through `POST /sync/upload-user-file`. In versions prior to 26.3.0, improper validation of the user-controlled `x-actual-file-id` header means that traversal segments (`../`) can escape the intended directory and write files outside `userFiles`. Mitigations The vulnerability can be mitigated in prior versions by running the sync server in a filesystem sandbox.

Related

Alias · CVE (1)

  • CVE-2026-3089 Actual Sync Server allows authenticated users to upload files through POST /sync/upload-user-file. vulnerability

Weakness · CWE (1)

  • CWE-22 Improper Limitation of a Pathname to a Restricted Directory weakness

References