CVE-2026-46700
Deferred Deferred - Pending Action

Information Disclosure in Actual Finance Tool

Vulnerability report for CVE-2026-46700, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-07-07

Last updated on: 2026-07-08

Assigner: GitHub, Inc.

Description

Actual is a local-first personal finance tool. Prior to 26.6.0, the GET /secret/:name endpoint in @actual-app/sync-server checks only that the caller has a valid session and does not verify the caller is an admin, while the sibling POST /secret/ handler enforces an admin check in OpenID mode. Any authenticated non-admin BASIC user in OpenID multi-user deployments can probe the secrets store and learn which admin-managed bank-sync integrations have been configured, including simplefin_accessKey, pluggyai_clientSecret, pluggyai_itemIds, and the gocardless secrets. This issue is fixed in version 26.6.0.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-07-07
Last Modified
2026-07-08
Generated
2026-07-28
AI Q&A
2026-07-08
EPSS Evaluated
2026-07-26
NVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
actual actual 26.6.0

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-285 The product does not perform or incorrectly performs an authorization check when an actor attempts to access a resource or perform an action.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

The vulnerability exists in the Actual personal finance tool prior to version 26.6.0. Specifically, the GET /secret/:name endpoint in the @actual-app/sync-server only checks if the caller has a valid session but does not verify if the caller is an admin. This allows any authenticated non-admin BASIC user in OpenID multi-user deployments to access and probe the secrets store.

As a result, these users can discover which admin-managed bank-sync integrations have been configured, including sensitive secrets such as simplefin_accessKey, pluggyai_clientSecret, pluggyai_itemIds, and gocardless secrets.

This issue was fixed in version 26.6.0 by enforcing proper admin checks.

Detection Guidance

This vulnerability can be detected by attempting to enumerate admin-managed secrets using the GET /secret/:name endpoint with a non-admin authenticated user in OpenID mode.

An attacker or tester can send HTTP GET requests to the /secret/:name endpoint with various known secret names such as gocardless_secretId, simplefin_accessKey, or pluggyai_clientSecret.

If the server responds with HTTP status 204, it indicates the secret exists; if it responds with 404, the secret does not exist. This difference in response codes reveals which admin-managed secrets are configured.

Example command using curl to test for a secret named 'simplefin_accessKey':

  • curl -i -H "Authorization: Bearer <non-admin-user-token>" https://<actual-server>/secret/simplefin_accessKey

By automating such requests for a list of known secret names, one can detect if the vulnerability exists by observing 204 vs 404 responses.

Impact Analysis

This vulnerability can impact you by allowing any authenticated non-admin user to access sensitive secret information related to bank-sync integrations that should only be accessible by administrators.

Exposure of these secrets could lead to unauthorized access or misuse of financial integrations, potentially compromising the security and privacy of financial data.

However, the CVSS base score of 4.3 indicates a medium severity impact, with limited scope to confidentiality and no impact on integrity or availability.

Compliance Impact

This vulnerability allows any authenticated non-admin user in OpenID multi-user deployments to access information about admin-managed bank-sync integrations, including sensitive secrets such as access keys and client secrets.

Such unauthorized disclosure of sensitive financial integration secrets could potentially lead to non-compliance with data protection regulations like GDPR and HIPAA, which require strict controls on access to sensitive personal and financial information.

However, the provided information does not explicitly state the direct impact on compliance with these standards.

Mitigation Strategies

To mitigate this vulnerability, upgrade the Actual application to version 26.6.0 or later, where the issue is fixed.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-46700. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart