PHP versions 7.2.x below 7.2.29 Remote Code Execution Vulnerability


Get_headers() silently truncates anything after a null byte in the URL it uses. This was tested on PHP 7.3, but the function has always had this bug. The test script shows that this can cause well-written scripts to get headers for an unexpected domain. Those headers could leak sensitive information or unexpectedly contain attacker-controlled data.




The information has been provided by Thorsten Alteholz

The original article can be found at:



In PHP versions 7.2.x below 7.2.29, 7.3.x below 7.3.16 and 7.4.x below 7.4.4, while using get_headers() with user-supplied URL, if the URL contains zero (\0) character, the URL will be silently truncated at it. This may cause some software to make incorrect assumptions about the target of the get_headers() and possibly send some information to a wrong server.


Vulnerable Systems:

PHP versions 7.2.x below 7.2.29

PHP versions 7.3.x below 7.3.16

PHP versions 7.4.x below 7.4.4


CVE Information:



Disclosure Timeline:
Published Date:4/1/2020


Categories: FeaturedNews