CVE-2026-27609
Received
Received - Intake
CSRF Vulnerability in Parse Dashboard AI Agent Endpoint
Publication date: 2026-02-25
Last updated on: 2026-02-27
Assigner: GitHub, Inc.
Description
Description
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.
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| parseplatform | parse_dashboard | 7.3.0 |
| parseplatform | parse_dashboard | 7.3.0 |
| parseplatform | parse_dashboard | 7.3.0 |
| parseplatform | parse_dashboard | 7.3.0 |
| parseplatform | parse_dashboard | 7.3.0 |
| parseplatform | parse_dashboard | 7.3.0 |
| parseplatform | parse_dashboard | 7.3.0 |
| parseplatform | parse_dashboard | 7.3.0 |
| parseplatform | parse_dashboard | 7.3.0-alpha.42 |
| parseplatform | parse_dashboard | 7.4.0 |
| parseplatform | parse_dashboard | 7.4.0 |
| parseplatform | parse_dashboard | 7.4.0 |
| parseplatform | parse_dashboard | 7.4.0 |
| parseplatform | parse_dashboard | 7.4.0 |
| parseplatform | parse_dashboard | 7.5.0 |
| parseplatform | parse_dashboard | 7.5.0 |
| parseplatform | parse_dashboard | 7.6.0 |
| parseplatform | parse_dashboard | 7.6.0 |
| parseplatform | parse_dashboard | 7.6.0 |
| parseplatform | parse_dashboard | 7.6.0 |
| parseplatform | parse_dashboard | 7.6.0 |
| parseplatform | parse_dashboard | 7.6.0 |
| parseplatform | parse_dashboard | 7.6.0 |
| parseplatform | parse_dashboard | 7.6.0 |
| parseplatform | parse_dashboard | 7.6.0 |
| parseplatform | parse_dashboard | 7.6.0 |
| parseplatform | parse_dashboard | 7.6.0 |
| parseplatform | parse_dashboard | 7.6.0 |
| parseplatform | parse_dashboard | 7.6.0 |
| parseplatform | parse_dashboard | 8.0.0 |
| parseplatform | parse_dashboard | 8.0.0 |
| parseplatform | parse_dashboard | 8.0.0 |
| parseplatform | parse_dashboard | 8.0.0 |
| parseplatform | parse_dashboard | 8.0.0 |
| parseplatform | parse_dashboard | 8.0.0 |
| parseplatform | parse_dashboard | 8.1.0 |
| parseplatform | parse_dashboard | 8.1.0 |
| parseplatform | parse_dashboard | 8.1.0 |
| parseplatform | parse_dashboard | 8.1.0 |
| parseplatform | parse_dashboard | 8.1.0 |
| parseplatform | parse_dashboard | 8.1.0 |
| parseplatform | parse_dashboard | 8.1.0 |
| parseplatform | parse_dashboard | 8.1.0 |
| parseplatform | parse_dashboard | 8.1.0 |
| parseplatform | parse_dashboard | 8.1.0 |
| parseplatform | parse_dashboard | 8.1.0 |
| parseplatform | parse_dashboard | 8.1.0 |
| parseplatform | parse_dashboard | 8.1.0 |
| parseplatform | parse_dashboard | 8.1.1 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.2.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.3.0 |
| parseplatform | parse_dashboard | 8.4.0 |
| parseplatform | parse_dashboard | 8.4.1 |
| parseplatform | parse_dashboard | 8.4.1 |
| parseplatform | parse_dashboard | 8.5.0 |
| parseplatform | parse_dashboard | 8.5.0 |
| parseplatform | parse_dashboard | 8.5.0 |
| parseplatform | parse_dashboard | 8.5.0 |
| parseplatform | parse_dashboard | 8.5.0 |
| parseplatform | parse_dashboard | 8.5.0 |
| parseplatform | parse_dashboard | 8.5.0 |
| parseplatform | parse_dashboard | 9.0.0 |
| parseplatform | parse_dashboard | 9.0.0 |
| parseplatform | parse_dashboard | 9.0.0 |
| parseplatform | parse_dashboard | 9.0.0 |
| parseplatform | parse_dashboard | 9.0.0 |
| parseplatform | parse_dashboard | 9.0.0 |
| parseplatform | parse_dashboard | 9.0.0 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-352 | The web application does not, or cannot, sufficiently verify whether a request was intentionally provided by the user who sent the request, which could have originated from an unauthorized actor. |