iliaa Sun, 31 Jan 2010 18:06:29 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=294272
Log:
Fixed a possible open_basedir/safe_mode bypass in session extension identified
by Grzegorz Stachowiak.
Changed paths:
U php/php-src/branches/PHP_5_2/NEWS
U php/php-src/branches/PHP_5_2/ext/session/session.c
U php/php-src/branches/PHP_5_3/NEWS
U php/php-src/branches/PHP_5_3/ext/session/session.c
U php/php-src/trunk/ext/session/session.c
Modified: php/php-src/branches/PHP_5_2/NEWS
===================================================================
--- php/php-src/branches/PHP_5_2/NEWS 2010-01-31 17:43:29 UTC (rev 294271)
+++ php/php-src/branches/PHP_5_2/NEWS 2010-01-31 18:06:29 UTC (rev 294272)
@@ -1,7 +1,10 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? Feb 2010, PHP 5.2.13
+- Fixed a possible open_basedir/safe_mode bypass in session extension
+ identified by Grzegorz Stachowiak. (Ilia)
+
28 Jan 2010, PHP 5.2.13RC1
- Updated timezone database to version 2010.2. (Derick)
- Upgraded bundled PCRE to version 8.01. (Ilia)
Modified: php/php-src/branches/PHP_5_2/ext/session/session.c
===================================================================
--- php/php-src/branches/PHP_5_2/ext/session/session.c 2010-01-31 17:43:29 UTC
(rev 294271)
+++ php/php-src/branches/PHP_5_2/ext/session/session.c 2010-01-31 18:06:29 UTC
(rev 294272)
@@ -653,8 +653,13 @@
return FAILURE;
}
- if ((p = zend_memrchr(new_value, ';', new_value_length))) {
+ /* we do not use zend_memrchr() since path can contain ; itself
*/
+ if ((p = strchr(new_value, ';'))) {
+ char *p2;
p++;
+ if ((p2 = strchr(p, ';'))) {
+ p = p2 + 1;
+ }
} else {
p = new_value;
}
Modified: php/php-src/branches/PHP_5_3/NEWS
===================================================================
--- php/php-src/branches/PHP_5_3/NEWS 2010-01-31 17:43:29 UTC (rev 294271)
+++ php/php-src/branches/PHP_5_3/NEWS 2010-01-31 18:06:29 UTC (rev 294272)
@@ -5,6 +5,8 @@
- Upgraded bundled sqlite to version 3.6.22. (Ilia)
- Upgraded bundled libmagic to version 5.03. (Mikko)
+- Fixed a possible open_basedir/safe_mode bypass in session extension
+ identified by Grzegorz Stachowiak. (Ilia)
- Improved LCG entropy. (Rasmus, Samy Kamkar)
- Added libpng 1.4.0 support. (Pierre)
Modified: php/php-src/branches/PHP_5_3/ext/session/session.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/session/session.c 2010-01-31 17:43:29 UTC
(rev 294271)
+++ php/php-src/branches/PHP_5_3/ext/session/session.c 2010-01-31 18:06:29 UTC
(rev 294272)
@@ -687,8 +687,13 @@
return FAILURE;
}
- if ((p = zend_memrchr(new_value, ';', new_value_length))) {
+ /* we do not use zend_memrchr() since path can contain ; itself
*/
+ if ((p = strchr(new_value, ';'))) {
+ char *p2;
p++;
+ if ((p2 = strchr(p, ';'))) {
+ p = p2 + 1;
+ }
} else {
p = new_value;
}
Modified: php/php-src/trunk/ext/session/session.c
===================================================================
--- php/php-src/trunk/ext/session/session.c 2010-01-31 17:43:29 UTC (rev
294271)
+++ php/php-src/trunk/ext/session/session.c 2010-01-31 18:06:29 UTC (rev
294272)
@@ -563,8 +563,13 @@
return FAILURE;
}
- if ((p = zend_memrchr(new_value, ';', new_value_length))) {
+ /* we do not use zend_memrchr() since path can contain ; itself
*/
+ if ((p = strchr(new_value, ';'))) {
+ char *p2;
p++;
+ if ((p2 = strchr(p, ';'))) {
+ p = p2 + 1;
+ }
} else {
p = new_value;
}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php