PT-2026-51448 · Npm+2 · @Actual-App/Sync-Server+1

·

CVE-2026-46700

·

Published

2026-06-22

·

Updated

2026-07-07

CVSS v3.1

4.3

Medium

VectorAV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Name of the Vulnerable Software and Affected Versions @actual-app/sync-server versions prior to 26.6.0
Description An authorization asymmetry exists in the @actual-app/sync-server component of Actual. In OpenID multi-user deployments, the GET /secret/:name endpoint only verifies that a user has a valid session but fails to verify if the user has administrative privileges. In contrast, the sibling POST /secret/ handler correctly enforces an admin check. This allows any authenticated non-admin (BASIC) user to probe the secrets store by observing the HTTP response codes (204 for configured, 404 for missing). Consequently, an attacker can enumerate which admin-managed bank-sync integrations are configured, including simplefin accessKey, pluggyai clientSecret, pluggyai itemIds, and gocardless * secrets. This disclosure is limited to the existence of the secrets and does not reveal their actual values.
Recommendations Update @actual-app/sync-server to version 26.6.0.

Exploit

Fix

Improper Authorization

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

CVE-2026-46700
GHSA-3F62-QV96-4P78

Affected Products

@Actual-App/Sync-Server
Actual