PHP updated its header() handling to reject malformed HTTP headers containing carriage return (\r), line feed (\n), or NUL characters, closing Bug #60227 in the header() function. The change hardens SAPI header validation so any embedded CR or LF is refused outright, aligning behavior with RFC 7230, which deprecated legacy header folding and treats such input as invalid.
The patch modified validation logic and accompanying tests to ensure folded or multi-line headers now trigger warnings instead of being accepted. Expected output was also changed so only the default Content-type header remains when invalid input is supplied, reducing the risk of HTTP header injection and response splitting through crafted multi-line header values.

See real exploitation activity before you spend the cycle.
1 event from the most recent confirmed update back to the earliest known activity.
A php-src commit updated SAPI header validation to reject any carriage return or line feed characters in header lines, hardening PHP against header injection and response splitting via malformed multi-line headers. The change also kept NUL-byte rejection and updated related tests to expect warnings instead of accepting folded headers.
Vulnerabilities, threat actors, malware, products, organizations, and breaches Mallory has linked to this story.
See real exploitation activity behind this advisory so you can triage it against everything else in the queue.
2 references tracked. Mallory keeps watching after this page renders.
Map indicators from this story to your assets and identify affected systems in minutes.
Every observed campaign, victim, and pivot linked to actors named in this story.
Malware, exploits, and IOCs connected to the activity described here.
YARA, Sigma, and Snort rules deployed to your SIEM as soon as they’re published.
Get matching new stories delivered to your team as they break — not the next morning.
Ask questions about this story and take action on the answers.