Skip to content

GHSA-4jjr-vmv7-wh4w CVE-2026-41175

Statamic: Unsafe method invocation via query value resolution allows data destruction

High Packagist
Severity
8.1 / 10
High · CVSS 3.1
Exploit chance (EPSS)
0.30%
Chance of exploitation in the next 30 days. Higher than 23.23% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-470 Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')
Fix
5.73.20
Upgrade statamic/cms to this version or later

Description

Impact

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.

Patches

This has been fixed in 5.73.20 and 6.13.0.

Affected versions

Packagist

PackageVulnerableFixed in
statamic/cms
< 5.73.20
5.73.20
statamic/cms
>= 6.0.0-alpha.1, < 6.13.0
6.13.0

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

statamic/cms Packagist → 5.73.20

composer
composer require statamic/cms:^5.73.20

Severity breakdown

CVSS 3.1 8.1

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H

Attack vector
Network
Attack complexity
Low
Privileges required
Low
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
High

Weakness

CWE-470: Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')

The product uses external input with reflection to select which classes or code to use, but it does not sufficiently prevent the input from selecting improper classes or code.

How to prevent it
  • Architecture and Design: Refactor your code to avoid using reflection.
  • Architecture and Design: Do not use user-controlled inputs to select and load classes or code.
  • Implementation: Apply strict input validation by using allowlists or indirect selection to ensure that the user is only selecting allowable classes or code.

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
GHSA-m92m-r54r-x8r2
Statamic CMS's unsafe method invocation via collection sorting allows data destruction
High Linked by the source
GHSA-vx89-p3j7-8xqc
Statamic: Stored Cross-Site Scripting in Automagic Form Notification Email Template
Medium Also affects statamic/cms
GHSA-qhr7-v3xp-vw9m
Statamic: Missing file upload validation on frontend forms allows uploading disallowed file types
Medium Also affects statamic/cms
GHSA-qh8c-7588-qfrv
Statamic: Missing authorization on navigation endpoint allows disclosure of restricted entries
Medium Also affects statamic/cms
GHSA-j2vp-f2pv-5rj4
Statamic: Unsafe method invocation via Antlers template resolution allows data destruction
Medium Also affects statamic/cms
GHSA-93qh-5269-9wcf
Statamic: Account takeover via OAuth email matching without email-verification check
High Also affects statamic/cms
GHSA-225x-3jhx-wh4q
Statamic: Missing authorization on Control Panel endpoint allows disclosure of user existence
Medium Also affects statamic/cms
GHSA-jppw-r5j3-xf7x
Statamic CMS exposes two-factor recovery codes through dynamic Antlers rendering
Medium Also affects statamic/cms
Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor