medium5.3
CVE-2026-3089
Actual Sync Server has an Authenticated Path Traversal
Impact
# 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.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | @actual-app/sync-server | <= 26.2.0 | 26.3.0 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Actualbudget | Actual | before 26.3.0 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://fluidattacks.com/advisories/fugue
- https://github.com/actualbudget/actual
- https://github.com/actualbudget/actual/pull/7067
- https://github.com/advisories/GHSA-27vg-33gh-4hwg
- https://github.com/actualbudget/actual/security/advisories/GHSA-27vg-33gh-4hwg
- https://nvd.nist.gov/vuln/detail/CVE-2026-3089
- https://github.com/actualbudget/actual/commit/18072e1d8b5281db43ded8b21433ee177bae9dfa