DEV Community

CVE Reports
CVE Reports

Posted on • Originally published at cvereports.com

CVE-2026-27584: Zero-Dollar Auth: Leaking Bank Data with ActualBudget (CVE-2026-27584)

Zero-Dollar Auth: Leaking Bank Data with ActualBudget (CVE-2026-27584)

Vulnerability ID: CVE-2026-27584
CVSS Score: 9.2
Published: 2026-02-24

ActualBudget, a local-first personal finance application designed for privacy enthusiasts, suffered from a critical authentication bypass in its server synchronization component. Specifically, the endpoints handling SimpleFIN and Pluggy.ai banking integrations lacked middleware verification, allowing unauthenticated attackers to query the server and retrieve sensitive financial data—including account balances and transaction histories—using the server owner's stored credentials.

TL;DR

The ActualBudget server forgot to ask "Who are you?" on its banking sync routes. Unauthenticated attackers could send POST requests to /simplefin or /pluggyai endpoints and download the server owner's complete financial history. Fixed in version 26.2.1 by adding session validation middleware.


Technical Details

  • CWE: CWE-306 (Missing Authentication for Critical Function)
  • CVSS v4.0: 9.2 (Critical)
  • Attack Vector: Network (AV:N)
  • Attack Complexity: Low (AC:L)
  • Privileges Required: None (PR:N)
  • Confidentiality Impact: High (VC:H)
  • Affected Components: SimpleFIN & Pluggy.ai Integration Modules

Affected Systems

  • ActualBudget Server (sync-server)
  • ActualBudget Server: < 26.2.1 (Fixed in: 26.2.1)

Code Analysis

Commit: ea937d1

Fix: added missing session validation middleware to simplefin/pluggy apps

+ app.use(validateSessionMiddleware);
Enter fullscreen mode Exit fullscreen mode

Commit: 9966c02

Fix: enhanced authorization checks for file access

Enhanced file ownership validation logic
Enter fullscreen mode Exit fullscreen mode

Exploit Details

  • Theoretical: Direct CURL POST request to /simplefin/accounts endpoints.

Mitigation Strategies

  • Update ActualBudget to version 26.2.1 or later.
  • Implement network-level restrictions (VPN/IP Allowlist) for the sync server.
  • Block access to /simplefin/* and /pluggyai/* endpoints at the reverse proxy level.

Remediation Steps:

  1. Pull the latest docker image: docker pull actualbudget/actual-server:latest
  2. Restart the container to apply the new version.
  3. Verify the version in the logs or settings menu.

References


Read the full report for CVE-2026-27584 on our website for more details including interactive diagrams and full exploit analysis.

Top comments (0)