Cyber Resilience

CVE-2026-25495

SQLi in Craftcms Craft Cms 4.0.0 – 4.16.18

Public PoCSQLi
Published
09 February 2026
Modified
19 February 2026
Patch / advisory
CVSS Score v4 8.7
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/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
EPSS Score 0.0050 41th percentile
Risk Priority 39 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2026-25495 is a high-severity SQL Injection (CWE-89) vulnerability in Craftcms Craft Cms. Its CVSS base score is 8.7 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 41th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to SA-11 (Developer Testing and Evaluation) and SI-10 (Information Input Validation) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-25495 is a SQL injection vulnerability (CWE-89) in Craft, a platform for creating digital experiences. The flaw affects the element-indexes/get-elements endpoint, where the application fails to sanitize the criteria[orderBy] parameter from the JSON body before incorporating it into a database query, specifically the ORDER BY clause. Vulnerable versions include Craft 4.0.0-RC1 through 4.16.17 and 5.0.0-RC1 through 5.8.21. The issue carries a CVSS v3.1 base score of 8.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H), indicating high severity due to its potential for significant impact.

Attackers with Control Panel access can exploit the vulnerability by injecting arbitrary SQL payloads into the criteria[orderBy] parameter, either by omitting the viewState[order] parameter or setting both to the same payload. This allows execution of unauthorized SQL queries via the ORDER BY clause, enabling data exfiltration, modification, or denial of service, aligning with the high confidentiality, integrity, and availability impacts in the CVSS score.

Craft has addressed the vulnerability in versions 4.16.18 and 5.8.22. Administrators should upgrade to these patched releases immediately. Additional details are available in the GitHub security advisory (https://github.com/craftcms/cms/security/advisories/GHSA-2453-mppf-46cj), the fixing commit (https://github.com/craftcms/cms/commit/96c60d775c644ff0a0276da52fe29e11d4cd38d2), and the 5.8.22 release notes (https://github.com/craftcms/cms/releases/tag/5.8.22).

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

Craft is a platform for creating digital experiences. In Craft versions 4.0.0-RC1 through 4.16.17 and 5.0.0-RC1 through 5.8.21, the element-indexes/get-elements endpoint is vulnerable to SQL Injection via the criteria[orderBy] parameter (JSON body). The application fails to sanitize this input before…

more

using it in the database query. An attacker with Control Panel access can inject arbitrary SQL into the ORDER BY clause by omitting viewState[order] (or setting both to the same payload). This issue is patched in versions 4.16.18 and 5.8.22.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2024-37843Same product: Craftcms Craft Cms
CVE-2023-4741Shared CWE-89
CVE-2023-23775Shared CWE-89
CVE-2023-2773Shared CWE-89
CVE-2023-36284Shared CWE-89
CVE-2024-10730Shared CWE-89
CVE-2021-40493Shared CWE-89
CVE-2024-2669Shared CWE-89
CVE-2023-25047Shared CWE-89
CVE-2023-0256Shared CWE-89

Affected Assets

craftcms
craft cms
4.0.0, 5.0.0 · 4.0.0 — 4.16.18 · 5.0.0 — 5.8.22

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

—

Detect
Catch it (NIST detect / respond)

—

Harden
Shrink the surface (DISA STIG)

—

Validate
Prove the fix (OWASP ASVS)
  • V6.2.5

Mitigating Controls (NIST 800-53 r5) AI

Developer testing and evaluation can discover SQLi flaws before deployment but does not stop their introduction.

Input validation directly stops untrusted data from reaching SQL query construction without neutralization.

Secure engineering principles require parameterized queries and input sanitization that structurally eliminate SQLi.

System monitoring can identify attempted SQLi exploitation via anomalous queries after the weakness exists.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly target injection flaws during coding and review so largely prevent CWE-89 introduction, yet the single broad outcome leaves residual risk from incomplete neutralization techniques or missed edge cases.

PR.AT-02 partial match
prevents

Training raises developer awareness of SQLi risks and can reduce introduction likelihood (partial) but removes none of the actual coding flaw's risk by itself since technical neutralization is still required.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

The same secure-coding and static-analysis activities surface missing neutralization of SQL metacharacters before the system is accepted.

prevents

Early warnings and shared best-practice information help organizations apply the latest remediation techniques against SQL-injection vulnerabilities.

prevents

Threat-intelligence feeds that surface new SQL-injection campaigns enable rapid updates to query-construction defenses and detection signatures before exploitation occurs.

prevents

Secure-coding rules and security testing phases mandate the use of parameterized queries or equivalent escaping, preventing the construction of dynamic SQL statements from untrusted input.

prevents

Language-specific secure coding rules, peer review and SAST together prevent the construction of SQL statements from untrusted data without proper parameterization or escaping.

References