FreeBSD VuXML: Documenting security issues in FreeBSD and the FreeBSD Ports Collection

php5 -- header splitting attack via carriage-return character

Affected packages
5.2 <= php5 < 5.2.17_11
5.3 <= php5 < 5.3.11
5.4 <= php5 < 5.4.1
php52 < 5.2.17_11
php53 < 5.3.11

Details

VuXML ID 918f38cd-f71e-11e1-8bd8-0022156e8794
Discovery 2011-11-06
Entry 2012-09-05
Modified 2012-09-19

Rui Hirokawa reports:

As of PHP 5.1.2, header() can no longer be used to send multiple response headers in a single call to prevent the HTTP Response Splitting Attack. header() only checks the linefeed (LF, 0x0A) as line-end marker, it doesn't check the carriage-return (CR, 0x0D).

However, some browsers including Google Chrome, IE also recognize CR as the line-end.

The current specification of header() still has the vulnerability against the HTTP header splitting attack.

References

CVE Name CVE-2011-1398
URL https://bugs.php.net/bug.php?id=60227