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.This issue affects prior versions of Actual Sync Server 26.3.0.
Published: 2026-03-09
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Authenticated Path Traversal
Action: Immediate Patch
AI Analysis

Impact

The vulnerability lies in improper validation of the x-actual-file-id header used during file uploads, allowing traversal segments such as ../ to escape the intended userFiles directory. This flaw permits authenticated users to place files wherever the server can write, potentially overwriting critical configuration or system files, exposing sensitive data, and creating a vector for further compromise. The weakness is a classic path traversal, identified as CWE-22, which carries the risk of arbitrary file write and data tampering within the hosting environment.

Affected Systems

Affected users run the Actual Sync Server 26.2.1 or earlier (any patch level below 26.3.0). The product is available for Linux, macOS, and Windows platforms. The open-source repo is maintained under the Actual Budget project on GitHub.

Risk and Exploitability

The CVSS score of 5.3 classifies this flaw as medium severity, and the EPSS score of less than 1% indicates a low probability of exploitation at the time of analysis. The vulnerability is not listed in the CISA KEV catalog. Exploitation requires valid authentication to the sync service; an attacker would target the POST /sync/upload-user-file endpoint, supply a malicious x-actual-file-id header with traversal components, and cause the server to write the uploaded file outside the intended directory. The lack of external exploitation evidence and low EPSS suggest that the risk remains moderate but should not be ignored by users of vulnerable versions.

Generated by OpenCVE AI on April 17, 2026 at 11:52 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Actual Sync Server to version 26.3.0 or later to apply the official fix that properly validates the x‑actual-file-id header.
  • If an update cannot be applied immediately, restrict the /sync/upload-user-file endpoint to reject any x‑actual-file-id header containing “../” or similar patterns, ensuring uploads are confined to the designated userFiles directory.
  • Enforce server‑side validation of the x‑actual-file-id value, allowing only tokens that match a pre‑approved list of consented filenames or identifiers.

Generated by OpenCVE AI on April 17, 2026 at 11:52 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-27vg-33gh-4hwg Actual Sync Server has an Authenticated Path Traversal
History

Thu, 09 Apr 2026 21:15:00 +0000

Type Values Removed Values Added
First Time appeared Actualbudget
Actualbudget actual
CPEs cpe:2.3:a:actualbudget:actual:*:*:*:*:*:node.js:*:*
Vendors & Products Actualbudget
Actualbudget actual
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N'}


Mon, 09 Mar 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 09 Mar 2026 14:15:00 +0000

Type Values Removed Values Added
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.This issue affects prior versions of Actual Sync Server 26.3.0.
Title Actual Sync Server 26.2.1 - Authenticated Path Traversal
First Time appeared Actual
Actual actual Sync Server
Weaknesses CWE-22
CPEs cpe:2.3:a:actual:actual_sync_server:26.2.1:*:linux:*:*:*:*:*
cpe:2.3:a:actual:actual_sync_server:26.2.1:*:macos:*:*:*:*:*
cpe:2.3:a:actual:actual_sync_server:26.2.1:*:windows:*:*:*:*:*
Vendors & Products Actual
Actual actual Sync Server
References
Metrics cvssV4_0

{'score': 5.3, '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'}


Subscriptions

Actual Actual Sync Server
Actualbudget Actual
cve-icon MITRE

Status: PUBLISHED

Assigner: Fluid Attacks

Published:

Updated: 2026-03-09T14:54:24.136Z

Reserved: 2026-02-24T00:49:14.624Z

Link: CVE-2026-3089

cve-icon Vulnrichment

Updated: 2026-03-09T14:54:14.217Z

cve-icon NVD

Status : Analyzed

Published: 2026-03-09T14:16:10.143

Modified: 2026-04-09T21:01:46.087

Link: CVE-2026-3089

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-17T12:00:11Z

Weaknesses