CVE-2026-31858

High

Description

Craft is a content management system (CMS). The ElementSearchController::actionSearch() endpoint is missing the unset() protection that was added to ElementIndexesController in CVE-2026-25495. The exact same SQL injection vulnerability (including criteria[orderBy], the original advisory vector) works on this controller because the fix was never applied to it. Any authenticated control panel user (no admin required) can inject arbitrary SQL via criteria[where], criteria[orderBy], or other query properties, and extract the full database contents via boolean-based blind injection. Users should update to the patched 5.9.9 release to mitigate the issue.

SeverityHigh
CVSS8.8
Exploit probability—
ProductCraftcms Craft Cms
PublishedMar 11, 2026
First seenMar 11, 2026
Weakness typeCWE-89SQL injection

How to fix

Update
  • craftcms craft_cms5.9.9 or later
  • craftcms/cms5.9.9 or later

Affected products

ProductAffected versionsFixed in
craftcms craft_cms5.0.1 ≤ v < 5.9.9, 5.0.05.9.9
craftcms/cmsPackagist5.0.0-RC1 ≤ v < 5.9.95.9.9

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.