Description
Actual is a local-first personal finance app. Prior to 26.6.0, in OpenID multi-user mode, disabling a user only blocks future OpenID login for that identity, while existing Actual session tokens for the disabled user remain valid. The shared session validation path accepts any existing token row that has not expired without checking whether the associated user is still enabled, allowing a disabled user to continue calling authenticated server endpoints. This issue is fixed in version 26.6.0.
Published: 2026-07-07
Score: 8.3 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Actual is a local‑first personal finance app. Prior to 26.6.0, in OpenID multi‑user mode, disabling a user only blocks future OpenID login for that identity, while existing Actual session tokens for the disabled user remain valid. The shared session validation path accepts any existing token row that has not expired without checking whether the associated user is still enabled, allowing a disabled user to continue calling authenticated server endpoints. This issue is fixed in version 26.6.0.

Affected Systems

All releases of the Actual personal‑finance application prior to version 26.6.0 are affected when OpenID multi‑user mode is enabled. Only users who have previously obtained a session token retain access until the token expires. The product in question is Actual, the local‑first personal‑finance app from Actual Budget.

Risk and Exploitability

The CVSS score of 8.3 indicates high severity, and the EPSS score is less than 1 percent, with no listing in the KEV catalog, suggesting no publicly known exploits at present. The attack path is straightforward: an attacker possessing a valid token—such as the disabled user themselves or a malicious actor—can use it to access authenticated endpoints. Manual revocation of tokens is an inferred temporary mitigative measure, but the only fully effective remedy is applying the patch by upgrading to v26.6.0.

Generated by OpenCVE AI on July 26, 2026 at 18:57 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update Actual to version 26.6.0 or later to apply the fix.
  • Revoke the session tokens for disabled accounts in the database before the tokens expire.
  • Disable OpenID multi‑user mode if possible until the application is patched.

Generated by OpenCVE AI on July 26, 2026 at 18:57 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-cq9c-6w48-qmfg @actual-app/sync-server: Disabled OpenID users keep access through existing session tokens
History

Thu, 09 Jul 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 08 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Tue, 07 Jul 2026 22:45:00 +0000

Type Values Removed Values Added
First Time appeared Actualbudget
Actualbudget actual
Vendors & Products Actualbudget
Actualbudget actual

Tue, 07 Jul 2026 21:45:00 +0000

Type Values Removed Values Added
Description Actual is a local-first personal finance app. Prior to 26.6.0, in OpenID multi-user mode, disabling a user only blocks future OpenID login for that identity, while existing Actual session tokens for the disabled user remain valid. The shared session validation path accepts any existing token row that has not expired without checking whether the associated user is still enabled, allowing a disabled user to continue calling authenticated server endpoints. This issue is fixed in version 26.6.0.
Title Actual: Disabled OpenID users keep access through existing session tokens
Weaknesses CWE-613
References
Metrics cvssV3_1

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


Subscriptions

Actualbudget Actual
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-09T13:56:02.796Z

Reserved: 2026-05-28T03:42:34.342Z

Link: CVE-2026-49229

cve-icon Vulnrichment

Updated: 2026-07-08T13:58:01.862Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-26T19:00:02Z

Weaknesses
  • CWE-613

    Insufficient Session Expiration