Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify app header built from user input
-
DeliverySubmit value with bare CR or LF
-
ExploitBypass CRLF-only header stripping
-
ExecutionInject Bcc/extra mail header
-
ImpactRedirect or alter outgoing email
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization CRLF sequence sanitization
|
| Exploitation Conditions | Exploitation requires an application built on CakePHP to place attacker-controlled data into custom email header values through Message::setHeaders() or Message::addHeaders(), and to send via SmtpTransport or MailTransport - this is an application coding pattern, not CakePHP's default behavior, which is the primary limiting factor. The injected payload must use a bare CR or bare LF (full CRLF pairs are still stripped on affected versions), reflecting the AC:H/AT:P metrics. No authentication is required of the attacker against the application (PR:N), and no user interaction is needed. Impact is limited to email integrity (injecting headers such as Bcc to redirect or alter outgoing mail); there is no confidentiality or availability impact. Applications that never populate custom headers from untrusted input are not exploitable. |
| Impact | This is a medium-severity, defensive-priority issue rather than an emergency. The vendor-supplied CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N) scores 6.3 and tells a consistent story: network-reachable but with both high attack complexity and a specific attack requirement (AT:P), yielding only low integrity impact and no confidentiality or availability impact. The vuln.today decision label is 'this_month', not act_now/emergency. There is no CISA KEV entry and no EPSS probability in the supplied data, so there is no evidence of active or widespread exploitation. The practical risk is bounded by the fact that exploitation is not against CakePHP's defaults - it requires an application that feeds attacker-controlled data into custom email header values via Message::setHeaders()/addHeaders(). Where that pattern exists, the flaw is real and injectable without authentication, but it is a mail-integrity problem (e.g. silently adding Bcc recipients), not remote code execution. Note one data conflict: the CVE description lists '5.1.8 through 5.1.10' as vulnerable, while the GHSA advisory states the 5.1 branch was fixed in 5.1.9 - verify the exact 5.1 fix boundary against the vendor before concluding a 5.1.9/5.1.10 install is affected. |
| Exploit ScenarioDerived | An application uses CakePHP's mailer and copies user-supplied input (for example a form field or display name) into a custom email header via Message::setHeaders() or addHeaders(). Because SmtpTransport and MailTransport strip only full CRLF pairs, an attacker submits a value containing a bare CR or bare LF to split the header and inject an additional header such as Bcc, silently redirecting or copying outgoing mail. A public PoC reference exists (abraxaslabs research and the VulnCheck advisory); it is not verified as working exploit code in the supplied data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 30, 2026
Email header injection in CakePHP's SmtpTransport and MailTransport lets data that an application places into custom mail headers via Message::setHeaders() or Message::addHeaders() break out of the header line and add or alter headers such as Bcc, redirecting or modifying outgoing mail. Affected releases named in the CVE are 4.5.12, 4.6.5, 5.1.8 through 5.1.10, 5.2.14 through 5.2.15, 5.3.7, and 5.4.0 through 5.4.3; the flaw is an incomplete fix for CVE-2026-77634, which stripped only full CRLF pairs and left bare CR or LF bytes intact. Impact is confined to message integrity (no confidentiality or availability effect) and only materializes when an application itself feeds untrusted input into custom headers; no authentication or user interaction is required of the attacker, and no public exploit code was identified at time of analysis. This is a medium-severity, defensive-priority issue rather than an emergency.
RemediationAI
Upgrade to a release containing the corrected newline stripping, which per the GitHub advisory GHSA-2qh5-382h-3jpc means 4.5.12 or later on the 4.5 line, 4.6.5 or later on 4.6, 5.1.9 or later on 5.1, 5.2.14 or later on 5.2, and 5.3.7 on 5.3; because the CVE text and the advisory disagree about 5.1.8-5.1.10 and 5.3.7, and because no fixed release is named for the affected 5.4.0-5.4.3 range, confirm the applicable version against the advisory and move to the newest patch release of your branch before treating the instance as fixed. The upstream changes are the commits https://github.com/cakephp/cakephp/commit/2b9326ca3f17b2e940c6c9f50d821e9929c00f39 (MailTransport and SmtpTransport) with related commits 773587406a29eedc2e0031e12683b08e112cc538, 3b997318539c48a423b77651c61c9f229cbf9e33 and e5936b286cc389b1497fd9b675a2133ba9ac557d and pull request https://github.com/cakephp/cakephp/pull/19695. If an immediate upgrade is not possible, the vendor's documented workaround is to strip CRLF bytes from email header values before calling setHeaders() or addHeaders() - remove bare carriage returns and bare line feeds, not just CRLF pairs - accepting that this relies on every code path that builds custom headers being covered, whereas the patched transports enforce the stripping centrally.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in composer, 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 web framework whose Mailer component builds RFC 5322/MIME messages and hands them to a transport; SmtpTransport streams the message to a relay over SMTP while MailTransport passes it to a local mail binary. Custom headers supplied by the application flow into the serialized header block, and both transports attempt to neutralize header-splitting by stripping newline bytes from header values. The earlier fix for CVE-2026-77634 used str_replace("\r\n", '', $val), which removes only paired CRLF sequences, so a lone carriage return or a lone line feed survives and still terminates a header line in downstream SMTP/mail handling - the classic CWE-93 CRLF injection root cause. The upstream commits replace that call with str_replace(["\r", "\n"], '', $val) in src/Mailer/Transport/MailTransport.php (around line 57) and in SmtpTransport::_sendData() in src/Mailer/Transport/SmtpTransport.php (around line 578), and the accompanying test changes add explicit X-crlf, X-lf and X-cr fixtures alongside the existing injection case. The trigger requires attacker-controlled data to reach a custom header value through the application's own setHeaders()/addHeaders() calls, and the injected payload must use a bare CR or bare LF rather than a CRLF pair, which is why the assessed vector carries AC:H and AT:P; CPE data identifies the affected package generically as cakephp:cakephp.
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
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
AV:N and PR:N since an unauthenticated web input can reach the header; AC:H because exploitation depends on a non-default app pattern passing untrusted data to custom headers; impact is integrity-only (I:L).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
CakePHP 4.5.12, 4.6.5, 5.1.8 through 5.1.10, 5.2.14 through 5.2.15, 5.3.7, and 5.4.0 through 5.4.3 contain an email header injection vulnerability because SmtpTransport and MailTransport strip only CRLF pairs from header values, an incomplete fix for CVE-2026-77634. Attackers controlling custom headers set via Message::setHeaders() or Message::addHeaders() can insert a bare CR or LF to inject headers like Bcc, redirecting or altering outgoing mail.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
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
The clientIp function in CakePHP 3.2.4 and earlier allows remote attackers to spoof their IP via the CLIENT-IP HTTP head
CakePHP 2.x and 3.x before 3.1.5 might allow remote attackers to bypass the CSRF protection mechanism via the _method pa
CakePHP is a development framework for PHP web apps. Rated critical severity (CVSS 9.8), this vulnerability is remotely
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
SQL injection in CakePHP's database layer allows attackers to inject arbitrary SQL when an application uses FunctionsBui
SQL injection in CakePHP 5.4.3 and earlier allows an attacker who can influence a collation name passed to the StringExp
SQL injection in CakePHP through 5.4.3 allows an attacker who can influence window-function query parameters to inject S
Authentication bypass in the CakePHP Authentication plugin's CookieAuthenticator (versions before 2.11.2, 3.0.0-3.3.6, a
Email header injection in CakePHP's Mailer component allows CRLF sequences embedded in custom header values to split SMT
An issue was discovered in SmtpTransport in CakePHP 3.7.6. Rated high severity (CVSS 7.5), this vulnerability is remotel
Local file inclusion in CakePHP's View::_getElementFileName() allows remote attackers to include arbitrary PHP files fro
EUVD-2026-113797
GHSA-xmwp-gcgj-p387
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB