Re: com php-src: fix bug #61807 - Buffer Overflow in apache_request_headers: NEWS sapi/cgi/cgi_main.c sapi/cgi/tests/apache_request_headers.phpt
| From: | Felipe Pena | Date: | Tue, 08 May 2012 15:38:05 +0000 |
| Subject: | Re: com php-src: fix bug #61807 - Buffer Overflow in apache_request_headers: NEWS sapi/cgi/cgi_main.c sapi/cgi/tests/apache_request_headers.phpt | ||
| References: | 1 | Groups: | php.cvs |
| Request: | Send a blank email to php-cvs+get-68997@lists.php.net to get a copy of this message | ||
2012/5/7 Stanislav Malyshev <stas@php.net>:
> Commit: eb8f3b025b0a6dbbf6b44bf51d8cf345437b7354
> Author: Stanislav Malyshev <stas@php.net> Mon, 7 May 2012 12:24:22 -0700
> Parents: fc3ba0552fd5c2d7b5870f3e2fec0a9a2d2996f4
> Branches: PHP-5.4.3
>
> Link:
> http://git.php.net/?p=php-src.git;a=commitdiff;h=eb8f3b025b0a6dbbf6b44bf51d8cf345437b7354íSˆçs0s
> ÙiŸŸqÇ
>
> Log:
> fix bug #61807 - Buffer Overflow in apache_request_headers
>
> Bugs:
> https://bugs.php.net/61807
>
> Changed paths:
> M NEWS
> M sapi/cgi/cgi_main.c
> A sapi/cgi/tests/apache_request_headers.phpt
>
>
> Diff:
> diff --git a/NEWS b/NEWS
> index a41a5d1..7603cfb 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -5,6 +5,7 @@ PHP
> NEWS
> - CGI
> . Re-Fix PHP-CGI query string parameter vulnerability, CVE-2012-1823.
> (Stas)
> + . Fix bug #61807 - Buffer Overflow in apache_request_headers.
>
> 03 May 2012, PHP 5.4.2
>
> diff --git a/sapi/cgi/cgi_main.c b/sapi/cgi/cgi_main.c
> index 71404a4..a1690b1 100644
> --- a/sapi/cgi/cgi_main.c
> +++ b/sapi/cgi/cgi_main.c
> @@ -1614,15 +1614,21 @@ PHP_FUNCTION(apache_request_headers) /* {{{ */
> p = var + 5;
>
> var = q = t;
> + // First char keep uppercase
> *q++ = *p++;
> while (*p) {
> - if (*p == '_') {
> + if (*p == '=') {
> + // End of name
> + break;
> + } else if (*p == '_') {
> *q++ = '-';
> p++;
> - if (*p) {
> + // First char after -
> keep uppercase
> + if (*p &&
> *p!='=' && *p!='_') {
> *q++ = *p++;
> }
> } else if (*p >= 'A'
> && *p <= 'Z') {
> + // lowercase
> *q++ = (*p++ -
> 'A' + 'a');
> } else {
> *q++ = *p++;
I see C++ comments.
--
Regards,
Felipe Pena