Home

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 Reserved 2026-05-28 | Published 2026-07-07 | Updated 2026-07-09 | Assigner GitHub_M




HIGH: 8.3CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L

Problem types

CWE-613: Insufficient Session Expiration

Product status

< 26.6.0
affected

References

github.com/...actual/security/advisories/GHSA-cq9c-6w48-qmfg exploit

github.com/...actual/security/advisories/GHSA-cq9c-6w48-qmfg

github.com/...ommit/c8cb8a223a4faf1c2e1dcb0795a79a93f7b19e80

github.com/actualbudget/actual/releases/tag/v26.6.0

cve.org (CVE-2026-49229)

nvd.nist.gov (CVE-2026-49229)

Download JSON