# CVE-2026-115934: SQL injection leading to privilege escalation

Status: published. Published: 2026-11-09. Updated: 2026-11-09.

An unauthenticated SQL injection can occur on the front end of any site that uses craft.search to perform a search, allowing stacked query execution and enabling escalation to an administrator.



Note that this only affects MySQL/MariaDB.

Impact  *  SQL injection — The attribute parameter is concatenated into the query unsanitized, and because PDO runs with emulated prepares, stacked statements execute. This gives unauthenticated read and write access to the application database.
  *  Privilege escalation to administrator — The write primitive was used to set the admin flag on user ID 1 in the users table, confirmed by reading the value back. Craft short-circuits its permission checks on this single column, so no further changes were needed. The same primitive can overwrite any account’s password hash.




Update to the patched versions (4.18.9 and 5.11.2) to get the fix.



If you cannot update immediately, you can block front-end requests with %5Battribute%5D and [attribute] anywhere in the query string as a temporary mitigation.

## Remediation

- fix: Update to the patched versions (4.18.9 and 5.11.2) to get the fix. (source: CNA: Hackrate)

## Affected products and versions

- craftcms / cms (craftcms/cms): ≥ 5.0.0; < 5.11.2 (affected, semver); ≥ 4.0.0; < 4.18.9 (affected, semver). Source: CNA: Hackrate

## Severity and prioritization

- CVSS 4.0: 9.3 (critical); CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:A; source: CNA: Hackrate

- CVSS 3.1: 9.8 (critical); CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H; source: CNA: Hackrate

- CVSS 4.0: 9.3 (critical); CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:A/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X; source: NVD: 7004884b-51e2-48e8-b4a2-5ca29e80453e

- CVSS 3.1: 9.8 (critical); CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H; source: NVD: 7004884b-51e2-48e8-b4a2-5ca29e80453e

- CISA KEV: No listing in collected sources

- EPSS: Not available

- SSVC: Not available

- Weaknesses: CWE-89

## Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

## References

- https://www.hckrt.com/hacktivity/HCKRT-Y64NY8 (CNA: Hackrate; third-party-advisory, technical-description, mitigation)

- https://github.com/craftcms/cms/releases/tag/5.11.2 (CNA: Hackrate; release-notes)

- https://github.com/craftcms/cms (CNA: Hackrate; product)

- https://github.com/craftcms/cms/security/advisories/GHSA-qcvp-ggx3-97r6 (CNA: Hackrate; third-party-advisory)

- https://github.com/craftcms/cms (7004884b-51e2-48e8-b4a2-5ca29e80453e)

- https://github.com/craftcms/cms/releases/tag/5.11.2 (7004884b-51e2-48e8-b4a2-5ca29e80453e)

- https://github.com/craftcms/cms/security/advisories/GHSA-qcvp-ggx3-97r6 (7004884b-51e2-48e8-b4a2-5ca29e80453e)

- https://www.hckrt.com/hacktivity/HCKRT-Y64NY8 (7004884b-51e2-48e8-b4a2-5ca29e80453e)

## Provenance

- CNA: Hackrate: https://www.cve.org/CVERecord?id=CVE-2026-115934; retrieved 2026-11-10; source updated 2026-11-09

- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-115934; retrieved 2026-11-10; source updated 2026-11-09

Revision: ad3f32fbc14a663ffb60b9cc8c6005d4dbe10dfe67bbd4fb7f71216c7004d405

Canonical: https://y2.dev/cve/CVE-2026-115934

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.