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"
}{
"extracted_events": [
{
"cpe": "cpe:2.3:a:craftcms:craft_cms:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "5.0.1"
},
{
"fixed": "5.9.9"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:craftcms:craft_cms:5.0.0:-:*:*:*:*:*:*",
"range": [
{
"introduced": "5.0.0-NA"
},
{
"last_affected": "5.0.0-NA"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:craftcms:craft_cms:5.0.0:rc1:*:*:*:*:*:*",
"range": [
{
"introduced": "5.0.0-rc1"
},
{
"last_affected": "5.0.0-rc1"
}
],
"source": "CPE_STRING"
},
{
"range": [
{
"fixed": "e1a3dd669ae31491b86ad996e88a1d30d33d9a42"
}
],
"source": "REFERENCES_COMMIT"
}
]
}