GHSA-qwc3-h9mg-4582 · Severity: critical · Ecosystem: npm — Parse Dashboard has incomplete authentication on AI 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`) has multiple security vulnerabilities that, when chained, allow unauthenticated remote attackers to perform arbitrary read and write operations against any connected Parse Server database using the master key. The agent feature is opt-in; dashboards without an agent config are not affected. The fix in version 9.0.0-alpha.8 adds authentication, CSRF validation, and per-app authorization middleware to the agent endpoint. Read-only users are restricted to the `readOnlyMasterKey` with write permissions stripped server-side. A cache key collision between master key and read-only master key was also corrected. As a workaround, remove or comment out the agent configuration block from your Parse Dashboard configuration.
Conclusion & alert: CVE-2026-27595 is rated Moderate Risk (41.5/100): CVSS Critical severity, with low exploitation likelihood (EPSS 0.02%). Mandatory action: Review affected assets and schedule remediation.
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-04-21 | 0.05% | 0.02% | -0.03% |
| 2 | 2026-03-29 | 0.03% | 0.05% | +0.02% |
| 3 | 2026-02-28 | — | 0.03% | — |
Full EPSS history (4 records total)
CVSS metrics for this CVE.
| Base score | Version | Severity | Vector | Exploitability | Impact | Score source |
|---|---|---|---|---|---|---|
| 9.9 | 4.0 | CRITICAL |
|
— | — | [email protected] |
| 7.5 | 3.1 | HIGH |
|
3.9 | 3.6 | [email protected] |
GHSA-qwc3-h9mg-4582 · Severity: critical · Ecosystem: npm — Parse Dashboard has incomplete authentication on AI 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.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:*:* |
| parseplatform | parse_dashboard | 8.3.0 | cpe:2.3:a:parseplatform:parse_dashboard:8.3.0:alpha.13:*:*:*:node.js:*:* |