Skip to main content

CakePHP CVE-2026-119419

| EUVDEUVD-2026-113799 CRITICAL
SQL Injection (CWE-89)
2026-10-30 VulnCheck GHSA-6q38-2qcr-3x34
9.2
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach app routing user input into collation
  2. Exploit
    Supply crafted collation name
  3. Execution
    Append SQL after unquoted COLLATE clause
  4. Impact
    Read or modify database within connection privileges

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the application to pass an attacker-controlled string as the collation argument to the StringExpression or IdentifierExpression constructor, or to setCollation(). Because CakePHP emits the COLLATE clause unquoted, a collation value containing SQL breaks out of the clause and injects arbitrary SQL, affecting every database driver within the connection's privileges (CWE-89). LIMITING FACTORS: this is not remote-unauthenticated against a default configuration - collation values are rarely derived from user input, so the app must specifically route untrusted data into collation (reflected in the vector's AC:H/AT:P). No user interaction is needed, and no authentication is required at the library boundary (PR:N), but the precondition of attacker-controlled collation is the real gate on exploitability. Only versions ≤5.4.3 are affected.

Impact

Signals point in two directions and must be reconciled. The vendor CVSS 4.0 vector (AV:N/PR:N/UI:N, VC:H/VI:H/VA:H, score 9.2 critical) and the vuln.today 'act_now' decision label argue for urgent remediation, and CWE-89 SQL injection granting full read/write within the database connection's privileges is genuinely severe. However, the same vector carries AC:H and AT:P, which materially qualify exploitability: this is a library-level flaw that is only reachable when the host application passes an attacker-controlled value as a collation into StringExpression or IdentifierExpression - collation values are seldom wired to untrusted input in typical CakePHP apps. No CISA KEV listing is present and no EPSS score was supplied, so there is no evidence of active or widespread exploitation; a public research write-up (AbraxasLabs) and a VulnCheck advisory describe the technique, but the input does not confirm working exploit code. CONFLICT TO NOTE: the PR:N in the vector means no authentication is required at the library boundary, yet real-world risk is gated by the AT:P precondition (the application must expose collation to attacker input), so the raw 9.2 overstates exposure for deployments that never pass untrusted collation values. Treat as a high priority to patch because a fix exists and the impact is full database compromise, but prioritize instances where application code demonstrably feeds user input into collation.

Exploit ScenarioDerived

A CakePHP application builds a query using StringExpression or IdentifierExpression and sets the COLLATE value from user-supplied input (e.g. a sort/locale parameter). An attacker submits a crafted collation string that, because the COLLATE clause is emitted unquoted, closes the clause and appends attacker-chosen SQL, which executes against any supported database driver with the connection's privileges. A public PoC reference exists (AbraxasLabs research); it is not verified as working exploit code.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 30, 2026

SQL injection in CakePHP 5.4.3 and earlier allows an attacker who can influence a collation name passed to the StringExpression or IdentifierExpression constructor (or setCollation()) to append arbitrary SQL after the unquoted COLLATE clause, with the injected statement executing under the privileges of the application's database connection on every bundled driver. Exploitation is gated by a real precondition: application code must specifically route attacker-controlled data into a collation argument, which is why the assessed vector carries high attack complexity despite requiring no authentication (PR:N) and no user interaction. Vendor fix commits and PR 19726 are available, no exact patched release number is stated in the advisory, and no public exploit was identified at time of analysis.

RemediationAI

Apply the vendor fix by upgrading CakePHP to a release that contains PR 19726 (https://github.com/cakephp/cakephp/pull/19726) and commits ae8c354cf825aeb7090ea4b48ce98142446f3ac9, 21951faea40060dcc5cc1da3159056df66816d3c, d04d342c3d1e0bac7ce7661bc098902cc412e595 and ac07372e6a3045ce2030701a5bc5ed71aa2b4b82; confirm the patched version number in the release notes for the branch you run, since the advisory does not publish an exact fixed release. Where upgrading is not immediate, eliminate the vulnerability's precondition in application code: never pass request-derived data as the collation argument of StringExpression or IdentifierExpression or to setCollation(), and hardcode collation names or resolve them from a fixed allow-list rather than accepting them from users; a matching guard is to reject any collation not matching ^[a-zA-Z0-9_.]+$ before constructing the expression. Be aware that after the patch a non-conforming collation throws InvalidArgumentException, which will break applications that legitimately used quoted or punctuation-bearing collation names, so test those call sites during the upgrade, and audit existing code for any place untrusted input reaches collation, dataType, datePart or dateAdd arguments, since injection there runs with the connection's full database privileges.

Affected VersionsENISA

cakephp 0 ≤5.4.3

Affected Packages

euvd cakephp no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

CakePHP is a PHP MVC framework whose Database layer builds SQL through expression objects. StringExpression wraps a raw SQL string and IdentifierExpression wraps a column or identifier, and both accept an optional collation that is emitted into generated SQL as an unquoted COLLATE <value> fragment. Because a collation name is an identifier-style SQL element that cannot be bound as a query parameter, validation is the only viable control; the pre-fix code assigned the constructor argument directly to the property, so a value containing whitespace and additional SQL terminated the COLLATE clause and injected arbitrary statements. The fix commit ae8c354cf825aeb7090ea4b48ce98142446f3ac9 routes assignment through setCollation() and adds a shared QueryExpression::ensureSimpleString() helper using the pattern /^(?:")?[a-zA-Z0-9_\.]+(?:")?$/, rejecting spaces, tabs, newlines, carriage returns and dashes and throwing InvalidArgumentException; the same helper replaces the stricter alphanumeric-only check previously private to FunctionsBuilder (used for dataType, datePart part and dateAdd unit), slightly relaxing it to permit dots, underscores and optional double quotes. Unit tests in IdentifierExpressionTest and StringExpressionTest add data providers asserting rejection of whitespace and dash-containing collations. The weakness maps to CWE-89 and is driver-agnostic: since CollationExpression is rendered generically, MySQL, PostgreSQL, SQLite and SQL Server connections alike are affected, limited only by the privileges granted to the connection in use.

Know when Cakephp gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 9.2 CRITICAL
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.1 HIGH

SQLi is reachable only when the app feeds attacker-controlled input into the unquoted COLLATE clause, an uncommon pattern, so AC:H; no auth at the library boundary gives PR:N; full database CIA with no scope change.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

CakePHP through 5.4.3 contains an sql injection vulnerability that allows attackers to inject SQL by supplying unvalidated collation values to StringExpression and IdentifierExpression. Attackers controlling a collation name passed to the constructor or setCollation() can append SQL after the unquoted COLLATE clause, affecting every database driver within the connection's privileges.

Executive ViewAI

Why It Matters

CakePHP, a widely used PHP framework, contains a critical SQL injection vulnerability (CVE-2026-119419) affecting versions 5.4.3 and earlier. Although exploitation requires a specific coding pattern, the potential impact includes unauthorized database access and data compromise, which could affect customer trust and regulatory compliance. Leadership should prioritize remediation due to the framework's prevalence and the critical severity rating.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 66% exploitable
Prevalence
Medium
popular PHP framework, broad but narrower footprint than WordPress/Laravel
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

CVE-2012-4399 HIGH POC
7.5 Oct 09

The Xml class in CakePHP 2.1.x before 2.1.5 and 2.2.x before 2.2.1 allows remote attackers to read arbitrary files via X

CVE-2016-4793 HIGH POC
7.5 Jan 23

The clientIp function in CakePHP 3.2.4 and earlier allows remote attackers to spoof their IP via the CLIENT-IP HTTP head

CVE-2015-8379 HIGH POC
8.8 Jan 26

CakePHP 2.x and 3.x before 3.1.5 might allow remote attackers to bypass the CSRF protection mechanism via the _method pa

CVE-2023-22727 CRITICAL
9.8 Jan 17

CakePHP is a development framework for PHP web apps. Rated critical severity (CVSS 9.8), this vulnerability is remotely

CVE-2026-79752 CRITICAL
9.2 Sep 17

SQL injection in the CakePHP PHP framework (versions prior to 4.5.12, 4.6.5, 5.1.9, 5.2.14, and 5.3.7) allows unauthenti

CVE-2026-77635 CRITICAL
9.2 Aug 24

SQL injection in CakePHP's database layer allows attackers to inject arbitrary SQL when an application uses FunctionsBui

CVE-2026-119418 CRITICAL
9.2 Oct 30

SQL injection in CakePHP through 5.4.3 allows an attacker who can influence window-function query parameters to inject S

CVE-2026-77337 CRITICAL
9.1 Aug 24

Authentication bypass in the CakePHP Authentication plugin's CookieAuthenticator (versions before 2.11.2, 3.0.0-3.3.6, a

CVE-2026-77634 HIGH
8.2 Aug 24

Email header injection in CakePHP's Mailer component allows CRLF sequences embedded in custom header values to split SMT

CVE-2019-11458 HIGH
7.5 May 08

An issue was discovered in SmtpTransport in CakePHP 3.7.6. Rated high severity (CVSS 7.5), this vulnerability is remotel

CVE-2026-48820 MEDIUM
6.3 Jun 17

Local file inclusion in CakePHP's View::_getElementFileName() allows remote attackers to include arbitrary PHP files fro

CVE-2026-119417 MEDIUM
6.3 Oct 30

Email header injection in CakePHP's SmtpTransport and MailTransport lets data that an application places into custom mai

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy