CVE-2026-33172
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedStatamic is a Laravel and Git powered content management system (CMS). Prior to versions 5.73.14 and 6.7.0, a stored XSS vulnerability in SVG asset reuploads allows authenticated users with asset upload permissions to bypass SVG sanitization and inject malicious JavaScript that executes when the asset is viewed. This has been fixed in 5.73.14 and 6.7.0.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceStatamic CMS prior to versions 5.73.14 and 6.7.0 contains a stored XSS vulnerability where authenticated users with asset upload permissions can bypass SVG sanitization during asset reuploads, allowing injection of malicious JavaScript that executes when the SVG is viewed in the browser.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE data< 5.73.14>= 6.0.0, < 6.7.0CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Network
- Complexity
- Low
- Privileges
- Low
- User interaction
- Required
- Scope
- Changed
- Confidentiality
- High
- Integrity
- High
- Availability
- None
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Identify installed Statamic versionLocate the Statamic installation directory and check the version file (composer.json or bootstrap/app.php typically contains the Statamic version). Run: `composer show statamic/cms` or inspect the version configuration file.Affected if The installed version is less than 5.73.14 OR greater than or equal to 6.0.0 but less than 6.7.0.
-
Verify if asset upload functionality is enabledNavigate to Statamic control panel > Users > Roles or Permissions. Check if any user roles have the "assets" or "upload assets" permission enabled.Affected if Any authenticated user role has asset upload permissions granted.
-
Identify SVG assets in the systemCheck the assets directory (typically in resources/assets or a configured asset container) for files with .svg extension. Use: `find /path/to/statamic -name "*.svg"` or browse via the control panel Assets section.Affected if SVG files exist in any asset container within the CMS.
-
Inspect SVG files for script injectionOpen and review the content of stored SVG files. Look for <script> tags, javascript: URIs, event handlers (onload, onerror, onclick), or foreignObject elements embedding HTML/JS.Affected if Any SVG file contains executable JavaScript code, script tags, or event handler attributes.
-
Review recent asset upload/reupload activityCheck Statamic asset logs or the control panel activity log for recent uploads of SVG files, particularly reuploads of existing assets.Affected if There are recent SVG uploads or reuploads performed by users with upload permissions.
You are affected if your Statamic version is below 5.73.14 or between 6.0.0 and 6.7.0 AND any authenticated user with asset upload permissions has uploaded or reuploaded SVG files that may contain malicious scripts.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scoped5.73.146.7.0
Upgrade to Statamic version 5.73.14 or 6.7.0 which includes proper SVG sanitization. Review existing SVG assets in the system for any previously injected malicious content.
Upgrade to Statamic 5.73.14+ (if on 5.x line) or 6.7.0+ (if on 6.x line)
- Identify the current Statamic version in use (check composer.json or Statamic version endpoint)
- If running Statamic 5.x: Run 'composer require statamic/cms:^5.73.14' or 'composer update statamic/cms --prefer-lowest' to upgrade to the minimum fixed version
- If running Statamic 6.x: Run 'composer require statamic/cms:^6.7.0' or 'composer update statamic/cms --prefer-lowest' to upgrade to the minimum fixed version
- After upgrading, clear any cached configurations with 'php artisan cache:clear' and 'php artisan config:clear'
- Verify the upgrade was successful by checking the Statamic version
- Test that SVG file uploads are properly sanitized by attempting to upload a test SVG with a script tag to confirm the vulnerability is remediated
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation2.0 h
- Implementation4.0 h
- Testing3.0 h
- Review / QA2.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $3,088.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2026-33172 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2026-33172 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data