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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-89"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31858.json"
}{
"cpe": [
"cpe:2.3:a:craftcms:craft_cms:*:*:*:*:*:*:*:*",
"cpe:2.3:a:craftcms:craft_cms:5.0.0:-:*:*:*:*:*:*",
"cpe:2.3:a:craftcms:craft_cms:5.0.0:rc1:*:*:*:*:*:*"
],
"extracted_events": [
{
"introduced": "5.0.1"
},
{
"fixed": "5.9.9"
},
{
"introduced": "5.0.0-NA"
},
{
"last_affected": "5.0.0-NA"
},
{
"introduced": "5.0.0-rc1"
},
{
"last_affected": "5.0.0-rc1"
}
],
"source": [
"CPE_RANGE",
"CPE_STRING",
"REFERENCES"
]
}