Custom mail headers added with Message::setHeaders() or addHeaders() do not have CRLF replaced allowing header injection if user controlled data is added to message headers without stripping CRLF bytes.
5.3.7, 5.2.14, 5.1.9, 4.6.5, 4.5.12 contain fixes for this issue.
You can strip CRLF bytes from email header values before setting header values.
{
"cwe_ids": [
"CWE-93"
],
"github_reviewed": true,
"github_reviewed_at": "2026-09-08T20:56:26Z",
"nvd_published_at": "2026-08-24T21:17:48Z",
"severity": "HIGH"
}