What’s Vulnerable › Vulnerabilities
CVE-2026-31858: CraftCMS's `ElementSearchController` Affected by Blind SQL Injection
- Severity: high (CVSS 8.8 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.4% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-03-11 · updated 2026-06-17
- Weakness: CWE-89
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.
Affected products
- craftcms cms: from 5.0.1 before 5.9.9; 5.0.0, 5.0.0-rc1 — fixed in 5.9.9
How to fix
Upgrade to a fixed version: craftcms cms 5.9.9. Check the vendor advisory for mitigations.
References
- https://github.com/craftcms/cms/commit/e1a3dd669ae31491b86ad996e88a1d30d33d9a42
- https://github.com/craftcms/cms/security/advisories/GHSA-g7j6-fmwx-7vp8
Get alerted when CVE-2026-31858 or the next vulnerability affects your stack