GHSA-3534-xp88-25rc · Severity: high · Ecosystem: npm — Parse Dashboard is Missing CSRF Protection for its Agent Endpoint
Parse Dashboard is a standalone dashboard for managing Parse Server apps. In versions 7.3.0-alpha.42 through 9.0.0-alpha.7, the AI Agent API endpoint (`POST /apps/:appId/agent`) lacks CSRF protection. An attacker can craft a malicious page that, when visited by an authenticated dashboard user, submits requests to the agent endpoint using the victim's session. The fix in version 9.0.0-alpha.8 adds CSRF middleware to the agent endpoint and embeds a CSRF token in the dashboard page. As a workaround, remove the `agent` configuration block from your dashboard configuration. Dashboards without an `agent` config are not affected.
Conclusion & alert: CVE-2026-27609 is rated Low Risk (34.8/100): CVSS High severity, with low exploitation likelihood (EPSS 0.02%). Mandatory action: Monitor for updates and reassess as exploit intelligence or EPSS changes.
Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.
EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).
| # | Date | Old EPSS score | New EPSS score | Delta (New - Old) |
|---|---|---|---|---|
| 1 | 2026-02-25 | — | 0.02% | — |
Full EPSS history (1 record total)
CVSS metrics for this CVE.
| Base score | Version | Severity | Vector | Exploitability | Impact | Score source |
|---|---|---|---|---|---|---|
| 8.3 | 4.0 | HIGH |
|
— | — | [email protected] |
| 6.5 | 3.1 | MEDIUM |
|
2.8 | 3.6 | [email protected] |
GHSA-3534-xp88-25rc · Severity: high · Ecosystem: npm — Parse Dashboard is Missing CSRF Protection for its Agent Endpoint
| Vendor | Product | Version | Raw CPE |
|---|---|---|---|
| parseplatform | parse_dashboard | 7.3.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.3.0:alpha.42:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.3.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.3.0:alpha.43:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.3.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.3.0:alpha.44:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.3.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.3.0:alpha.5:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.3.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.3.0:alpha.6:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.3.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.3.0:alpha.7:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.3.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.3.0:alpha.8:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.3.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.3.0:alpha.9:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.3.0-alpha.42 | cpe:2.3:a:parseplatform:parse_dashboard:7.3.0-alpha.42:*:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.4.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.4.0:alpha.1:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.4.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.4.0:alpha.2:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.4.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.4.0:alpha.3:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.4.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.4.0:alpha.4:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.4.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.4.0:alpha.5:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.5.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.5.0:alpha.1:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.5.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.5.0:alpha.2:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.6.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.6.0:alpha.1:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.6.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.6.0:alpha.10:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.6.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.6.0:alpha.11:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.6.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.6.0:alpha.12:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.6.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.6.0:alpha.13:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.6.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.6.0:alpha.2:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.6.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.6.0:alpha.3:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.6.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.6.0:alpha.4:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.6.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.6.0:alpha.5:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.6.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.6.0:alpha.6:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.6.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.6.0:alpha.7:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.6.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.6.0:alpha.8:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 7.6.0 | cpe:2.3:a:parseplatform:parse_dashboard:7.6.0:alpha.9:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.0.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.0.0:alpha.1:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.0.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.0.0:alpha.2:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.0.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.0.0:alpha.3:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.0.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.0.0:alpha.4:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.0.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.0.0:alpha.5:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.0.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.0.0:alpha.6:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.1.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.1.0:alpha.1:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.1.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.1.0:alpha.10:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.1.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.1.0:alpha.11:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.1.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.1.0:alpha.12:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.1.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.1.0:alpha.13:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.1.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.1.0:alpha.2:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.1.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.1.0:alpha.3:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.1.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.1.0:alpha.4:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.1.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.1.0:alpha.5:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.1.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.1.0:alpha.6:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.1.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.1.0:alpha.7:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.1.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.1.0:alpha.8:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.1.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.1.0:alpha.9:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.1.1 | cpe:2.3:a:parseplatform:parse_dashboard:8.1.1:alpha.1:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.1:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.10:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.11:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.12:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.13:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.14:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.15:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.16:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.17:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.18:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.19:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.2:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.20:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.21:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.22:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.23:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.24:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.25:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.26:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.27:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.3:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.4:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.5:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.6:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.7:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.8:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.2.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.2.0:alpha.9:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.3.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.3.0:alpha.1:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.3.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.3.0:alpha.10:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.3.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.3.0:alpha.11:*:*:*:node.js:*:* |
| parseplatform | parse_dashboard | 8.3.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.3.0:alpha.12:*:*:*:node.js:*:* |