Skip to content

GHSA-m92m-r54r-x8r2 CVE-2026-49287

Statamic CMS's unsafe method invocation via collection sorting allows data destruction

High Packagist
Severity
7.4 / 10
High · CVSS 3.1
Exploit chance (EPSS)
0.46%
Chance of exploitation in the next 30 days. Higher than 39.68% 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.23
Upgrade statamic/cms to this version or later

Description

Impact

The fix for GHSA-4jjr-vmv7-wh4w was incomplete. It addressed the issue in the query builder, but the same protection was not applied to in-memory collection sorting. Manipulating sort parameters could result in the loss of content and assets.

This requires a front-end template that passes request input into a tag's sort parameter. It is not exploitable by default — a template would need to be explicitly set up to sort by a visitor-controlled value.

Patches

This has been fixed in 5.73.23 and 6.20.0.

Affected versions

Packagist

PackageVulnerableFixed in
statamic/cms
< 5.73.23
5.73.23
statamic/cms
>= 6.0.0, < 6.20.0
6.20.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.23

composer
composer require statamic/cms:^5.73.23

Severity breakdown

CVSS 3.1 7.4

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

Attack vector
Network
Attack complexity
High
Privileges required
None
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-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
GHSA-7mqq-4v55-88gh
Statamic CMS's incorrect authorization lets view-only users submit Live Preview content reserved for editors
Low 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