Lucene search

K
seebugRootSSV:1770
HistoryMay 18, 2007 - 12:00 a.m.

PHP 5 Substr_Count整数溢出漏洞

2007-05-1800:00:00
Root
www.seebug.org
62

PHP是一款广泛使用的WEB开发脚本语言。

PHP 5包含的substr_compare()函数存在整数溢出,远程攻击者可以利用漏洞获得PHP变量的敏感信息。

substr_compare()函数对输入参数进行2次过滤检查:

if (offset < 0) {
    offset = s1_len + offset;
    offset = (offset < 0) ? 0 : offset;
}

if ((offset + len) > s1_len) {
    php_error_docref(NULL TSRMLS_CC, E_WARNING, "The start position cannot exceed ...");
    RETURN_FALSE;
}

第一个检查确保相关的第一个输入字符串末尾是负的偏移,第二个检查确保偏移和请求长度不超过缓冲区长度。

但是第二个检查没有考虑两个正的有符号变量相加,当整数溢出发生时可导致生成负值。因此最后可能访问缓冲区之外的内存信息。

PHP PHP 5.2.1
PHP PHP 5.1.6
PHP PHP 5.1.5
PHP PHP 5.1.4
PHP PHP 5.1.3
PHP PHP 5.1.3
PHP PHP 5.1.2
PHP PHP 5.1.1
PHP PHP 5.1
PHP PHP 5.0.5
PHP PHP 5.0.4
PHP PHP 5.0.3

  • Trustix Secure Linux 2.2
    PHP PHP 5.0.2
    PHP PHP 5.0.1
    PHP PHP 5.0 candidate 3
    PHP PHP 5.0 candidate 2
    PHP PHP 5.0 candidate 1
    PHP PHP 5.2

升级到最新程序:

PHP PHP 5.2

* PHP php-5.2.2.tar.gz
  <a href="http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror" target="_blank">http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror</a>

PHP PHP 5.0 candidate 2

* PHP php-5.2.2.tar.gz
  <a href="http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror" target="_blank">http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror</a>

PHP PHP 5.0 candidate 3

* PHP php-5.2.2.tar.gz
  <a href="http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror" target="_blank">http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror</a>

PHP PHP 5.0 candidate 1

* PHP php-5.2.2.tar.gz
  <a href="http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror" target="_blank">http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror</a>

PHP PHP 5.0.1

* PHP php-5.2.2.tar.gz
  <a href="http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror" target="_blank">http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror</a>

PHP PHP 5.0.2

* PHP php-5.2.2.tar.gz
  <a href="http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror" target="_blank">http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror</a>

PHP PHP 5.0.3

* PHP php-5.2.2.tar.gz
  <a href="http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror" target="_blank">http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror</a>

PHP PHP 5.0.4

* PHP php-5.2.2.tar.gz
  <a href="http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror" target="_blank">http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror</a>

PHP PHP 5.0.5

* PHP php-5.2.2.tar.gz
  <a href="http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror" target="_blank">http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror</a>

PHP PHP 5.1

* PHP php-5.2.2.tar.gz
  <a href="http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror" target="_blank">http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror</a>

PHP PHP 5.1.1

* PHP php-5.2.2.tar.gz
  <a href="http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror" target="_blank">http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror</a>

PHP PHP 5.1.2

* PHP php-5.2.2.tar.gz
  <a href="http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror" target="_blank">http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror</a>

PHP PHP 5.1.3

* PHP php-5.2.2.tar.gz
  <a href="http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror" target="_blank">http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror</a>

PHP PHP 5.1.3

* PHP php-5.2.2.tar.gz
  <a href="http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror" target="_blank">http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror</a>

PHP PHP 5.1.4

* PHP php-5.2.2.tar.gz
  <a href="http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror" target="_blank">http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror</a>

PHP PHP 5.1.5

* PHP php-5.2.2.tar.gz
  <a href="http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror" target="_blank">http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror</a>

PHP PHP 5.1.6

* PHP php-5.2.2.tar.gz
  <a href="http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror" target="_blank">http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror</a>

PHP PHP 5.2.1

* PHP php-5.2.2.tar.gz
  <a href="http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror" target="_blank">http://www.php.net/get/php-5.2.2.tar.gz/from/a/mirror</a>

                                                &lt;?php
&nbsp;&nbsp;////////////////////////////////////////////////////////////////////////
&nbsp;&nbsp;//&nbsp;&nbsp;_&nbsp;&nbsp;_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp