Invalid HTTP requests make web server segfault

Bug #68745 Invalid HTTP requests make web server segfault
Submitted: 2015-01-05 00:12 UTC Modified: 2015-01-06 01:31 UTC
From: benjamin dot morel at gmail dot com Assigned: aharvey (profile)
Status: Closed Package: Built-in web server
PHP Version: 5.6.4 OS: Fedora 21
Private report: No CVE-ID: None

 [2015-01-05 00:12 UTC] benjamin dot morel at gmail dot com

Description:
------------
I'm not sure whether this is a bug in the web server or in PHP itself, but trying to access $_SERVER when PHP has received an invalid request such as:

GET www.example.com:80 HTTP/1.1

Makes the built-in web server segfault.

Test script:
---------------
1. Create a test.php file containing this line:

<?php print_r($_SERVER);

2. Start the built-in web server on this file:

php -S localhost:8888 test.php

3. Run this PHP code to send an invalid HTTP request:

$fp = fsockopen('localhost', 8888);
fwrite($fp, "GET www.example.com:80 HTTP/1.1\r\n\r\n");
while (! feof($fp)) echo fread($fp, 1024);
fclose($fp);

The web server will segfault.


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports

 [2015-01-06 01:31 UTC] aharvey@php.net

-Status: Open +Status: Closed -Assigned To: +Assigned To: aharvey