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

·

CVE-2026-49229

·

Published

2026-06-22

·

Updated

2026-07-09

CVSS v3.1

8.3

High

VectorAV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L
Name of the Vulnerable Software and Affected Versions Actual versions prior to 26.6.0
Description In OpenID multi-user mode, disabling a user only prevents future OpenID logins for that identity. Existing session tokens remain valid because the shared session validation path does not check if the associated user is still enabled. This allows a disabled user to continue accessing authenticated server endpoints. The issue is particularly persistent in default deployments where the token expiration variable is set to never. A disabled user can maintain access to their own budgets, shared budgets containing sensitive financial data, or even administrative privileges if the disabled account had an admin role. The vulnerability involves the validateSession() function and affects endpoints protected by validateSessionMiddleware, such as the sync API and the /users update route via the enabled variable.
Recommendations Update Actual to version 26.6.0.

Exploit

Fix

Insufficient Session Expiration

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

Weakness Enumeration

Related Identifiers

CVE-2026-49229
GHSA-CQ9C-6W48-QMFG

Affected Products

@Actual-App/Sync-Server
Actual