CVE-2026-57449

Source
https://cve.org/CVERecord?id=CVE-2026-57449
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-57449.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-57449
Aliases
  • GHSA-m62c-5q34-f3cf
Published
2026-09-25T22:10:39Z
Modified
2026-09-27T03:30:26Z
Severity
  • 7.1 (High) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N CVSS Calculator
Summary
Actual Sync Server: CORS Proxy GitHub API Allowlist Prefix Bypass Leaks Private Repositories Through the Server GitHub Token
Details

Actual is a local-first personal finance tool. Prior to 26.7.0, Actual Sync Server's CORS proxy is intended to let authenticated users fetch resources only from repositories listed in the official plugin allowlist. When ACTUAL_GITHUB_TOKEN is configured, the proxy automatically attaches the server's GitHub token to GitHub requests. The GitHub API allowlist check uses a raw startsWith() prefix test for /repos/{owner}/{repo} without requiring a path boundary after the repository name. If an allowlisted public plugin repository is https://github.com/acme/plugin, the proxy also accepts GitHub API URLs. Those URLs are outside the allowlisted repository but still pass because their API path starts with /repos/acme/plugin. The proxy then forwards the request with the server's ACTUAL_GITHUB_TOKEN, allowing any authenticated Actual user to read private GitHub resources reachable by that token. Version 26.7.0 fixes the issue.

Database specific
{
    "cna_assigner":  "GitHub_M",
    "cwe_ids":  [
        "CWE-200",
        "CWE-284",
        "CWE-863"
    ],
    "osv_generated_from":  "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/57xxx/CVE-2026-57449.json"
}
References

Affected packages

Git / github.com/actualbudget/actual

Affected ranges

Type
GIT
Repo
https://github.com/actualbudget/actual
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
Show details
{
    "extracted_events":  [
        {
            "introduced":  "0"
        },
        {
            "fixed":  "26.7.0"
        }
    ],
    "source":  "AFFECTED_FIELD"
}

Affected versions

v22.*
v22.12.9
v23.*
v23.1.12
v23.10.0
v23.11.0
v23.12.0
v23.2.5
v23.2.9
v23.3.0
v23.3.2
v23.4.0
v23.4.1
v23.4.2
v23.5.0
v23.6.0
v23.7.0
v23.7.1
v23.7.2
v23.8.0
v23.8.1
v23.9.0
v24.*
v24.1.0
v24.10.0
v24.11.0
v24.12.0
v24.2.0
v24.3.0
v24.4.0
v24.5.0
v24.6.0
v24.7.0
v24.8.0
v24.9.0
v25.*
v25.1.0
v25.10.0
v25.11.0
v25.12.0
v25.2.0
v25.3.0
v25.4.0
v25.5.0
v25.6.0
v25.6.1
v25.7.0
v25.7.1
v25.8.0
v25.9.0
v26.*
v26.1.0
v26.2.0
v26.3.0
v26.4.0
v26.6.0

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-57449.json"