CVE-2026-33318: CWE-284: Improper Access Control in actualbudget actual
Actual is a local-first personal finance tool. Prior to version 26.4.0, any authenticated user (including `BASIC` role) can escalate to `ADMIN` on servers migrated from password authentication to OpenID Connect. Three weaknesses combine: `POST /account/change-password` has no authorization check, allowing any session to overwrite the password hash; the inactive password `auth` row is never removed on migration; and the login endpoint accepts a client-supplied `loginMethod` that bypasses the server's active auth configuration. Together these allow an attacker to set a known password and authenticate as the anonymous admin account created during the multiuser migration. The three weaknesses form a single, sequential exploit chain — none produces privilege escalation on its own. Missing authorization on POST /change-password allows overwriting a password hash, but only matters if there is an orphaned row to target. Orphaned password row persisting after migration provides the target row, but is harmless without the ability to authenticate using it. Client-controlled loginMethod: "password" allows forcing password-based auth, but is useless without a known hash established by step 1. All three must be chained in sequence to achieve the impact. No single weakness independently results in privilege escalation. The single root cause is the missing authorization check on /change-password; the other two are preconditions that make it exploitable. Version 26.4.0 contains a fix.
AI Analysis
Technical Summary
CVE-2026-33318 affects Actualbudget's Actual personal finance tool versions prior to 26.4.0. The vulnerability arises from a missing authorization check on the POST /account/change-password endpoint, allowing any authenticated user to overwrite password hashes. This alone is insufficient for privilege escalation but becomes exploitable when combined with two other conditions: an orphaned inactive password authentication row that remains after migrating from password-based authentication to OpenID Connect, and the login endpoint accepting a client-supplied loginMethod parameter that can force password-based authentication. Together, these weaknesses form a sequential exploit chain enabling a basic user to escalate privileges to admin by setting a known password for the orphaned admin account and authenticating as that admin. The root cause is the missing authorization on the password change endpoint, with the other two conditions acting as necessary preconditions. The vulnerability has a CVSS 3.1 score of 8.8 (High). Version 26.4.0 contains a fix.
Potential Impact
Successful exploitation allows an authenticated user with basic privileges to escalate to administrative privileges on affected Actualbudget Actual servers migrated from password authentication to OpenID Connect. This results in full confidentiality, integrity, and availability impact (C:H/I:H/A:H) as the attacker gains admin-level control. No known exploits in the wild have been reported.
Mitigation Recommendations
Version 26.4.0 of Actualbudget Actual contains an official fix that addresses this vulnerability by adding proper authorization checks on the password change endpoint and correcting the migration process to remove inactive password authentication rows. Users should upgrade to version 26.4.0 or later to remediate this issue. Since this is a self-hosted application, administrators must apply the update manually. Patch status is not explicitly stated beyond the fix in 26.4.0; check vendor advisories for the latest remediation guidance.
CVE-2026-33318: CWE-284: Improper Access Control in actualbudget actual
Description
Actual is a local-first personal finance tool. Prior to version 26.4.0, any authenticated user (including `BASIC` role) can escalate to `ADMIN` on servers migrated from password authentication to OpenID Connect. Three weaknesses combine: `POST /account/change-password` has no authorization check, allowing any session to overwrite the password hash; the inactive password `auth` row is never removed on migration; and the login endpoint accepts a client-supplied `loginMethod` that bypasses the server's active auth configuration. Together these allow an attacker to set a known password and authenticate as the anonymous admin account created during the multiuser migration. The three weaknesses form a single, sequential exploit chain — none produces privilege escalation on its own. Missing authorization on POST /change-password allows overwriting a password hash, but only matters if there is an orphaned row to target. Orphaned password row persisting after migration provides the target row, but is harmless without the ability to authenticate using it. Client-controlled loginMethod: "password" allows forcing password-based auth, but is useless without a known hash established by step 1. All three must be chained in sequence to achieve the impact. No single weakness independently results in privilege escalation. The single root cause is the missing authorization check on /change-password; the other two are preconditions that make it exploitable. Version 26.4.0 contains a fix.
CVSS v3.1
Score 8.8high
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
CVE-2026-33318 affects Actualbudget's Actual personal finance tool versions prior to 26.4.0. The vulnerability arises from a missing authorization check on the POST /account/change-password endpoint, allowing any authenticated user to overwrite password hashes. This alone is insufficient for privilege escalation but becomes exploitable when combined with two other conditions: an orphaned inactive password authentication row that remains after migrating from password-based authentication to OpenID Connect, and the login endpoint accepting a client-supplied loginMethod parameter that can force password-based authentication. Together, these weaknesses form a sequential exploit chain enabling a basic user to escalate privileges to admin by setting a known password for the orphaned admin account and authenticating as that admin. The root cause is the missing authorization on the password change endpoint, with the other two conditions acting as necessary preconditions. The vulnerability has a CVSS 3.1 score of 8.8 (High). Version 26.4.0 contains a fix.
Potential Impact
Successful exploitation allows an authenticated user with basic privileges to escalate to administrative privileges on affected Actualbudget Actual servers migrated from password authentication to OpenID Connect. This results in full confidentiality, integrity, and availability impact (C:H/I:H/A:H) as the attacker gains admin-level control. No known exploits in the wild have been reported.
Mitigation Recommendations
Version 26.4.0 of Actualbudget Actual contains an official fix that addresses this vulnerability by adding proper authorization checks on the password change endpoint and correcting the migration process to remove inactive password authentication rows. Users should upgrade to version 26.4.0 or later to remediate this issue. Since this is a self-hosted application, administrators must apply the update manually. Patch status is not explicitly stated beyond the fix in 26.4.0; check vendor advisories for the latest remediation guidance.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-03-18T21:23:36.677Z
- Cvss Version
- 3.1
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 69eada9887115cfb68a5e998
Added to database: 4/24/2026, 2:51:04 AM
Last enriched: 5/1/2026, 8:38:44 PM
Last updated: 6/8/2026, 3:30:22 AM
Views: 87
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.