Bugzilla – Bug 931776
VUL-0: CVE-2015-4026: php: pcntl_exec() does not check path validity
Last modified: 2016-08-09 08:22:33 UTC
https://bugs.php.net/bug.php?id=68598 --------------------------------------------------- Description: ------------ pcnt_exec() does not check path validity. It should not allow NULL char, just like other file related functions. I think exec() should not allow NULL char, too. I'll prepare the patch. Any comments? Test script: --------------- <?php $path = "/bin/rm\0/usr/local/bin/my_special_program"; $opts = array('my_important_file'); if (!mb_ereg('my_special_program\z', $path)) { die('Go away'); } pcntl_exec($path, $opts); --------------------------------------------------- Fix: http://git.php.net/?p=php-src.git;a=commit;h=be9b2a95adb504abd5acdc092d770444ad6f6854 References: https://bugzilla.redhat.com/show_bug.cgi?id=1223422 http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-4026 http://seclists.org/oss-sec/2015/q2/505 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4026
QA: $ zypper in php5 php5-mbstring php5-pcntl $ cat test.php <?php $path = "/bin/rm\0/usr/local/bin/my_special_program"; $opts = array('my_important_file'); if (!mb_ereg('my_special_program\z', $path)) { die('Go away'); } pcntl_exec($path, $opts); ?> $ BEFORE $ php test.php /bin/rm: cannot remove 'my_important_file': No such file or directory $ AFTER $ php test.php PHP Warning: pcntl_exec() expects parameter 1 to be a valid path, string given in /913776/test.php on line 8 $
Affected: 11..13.2
bugbot adjusting priority
openSUSE: mr#308354 12: mr#58172 11sp3: sr#58174 11: sr#58176 10sp3: sr#58178
openSUSE-SU-2015:0993-1: An update that fixes four vulnerabilities is now available. Category: security (moderate) Bug References: 931421,931769,931772,931776 CVE References: CVE-2015-4021,CVE-2015-4022,CVE-2015-4024,CVE-2015-4026 Sources used: openSUSE 13.2 (src): php5-5.6.1-24.2 openSUSE 13.1 (src): php5-5.4.20-55.2
SUSE-SU-2015:1018-1: An update that solves 11 vulnerabilities and has one errata is now available. Category: security (moderate) Bug References: 922022,922451,922452,923946,924972,925109,928506,928511,931421,931769,931772,931776 CVE References: CVE-2014-9705,CVE-2014-9709,CVE-2015-2301,CVE-2015-2305,CVE-2015-2783,CVE-2015-2787,CVE-2015-3329,CVE-2015-4021,CVE-2015-4022,CVE-2015-4024,CVE-2015-4026 Sources used: SUSE Linux Enterprise Software Development Kit 11 SP3 (src): php53-5.3.17-0.41.1 SUSE Linux Enterprise Server 11 SP3 for VMware (src): php53-5.3.17-0.41.1 SUSE Linux Enterprise Server 11 SP3 (src): php53-5.3.17-0.41.1
SUSE-SU-2015:1253-1: An update that fixes 15 vulnerabilities is now available. Category: security (important) Bug References: 919080,927147,931421,931769,931772,931776,933227,935224,935226,935227,935232,935234,935274,935275 CVE References: CVE-2015-3411,CVE-2015-3412,CVE-2015-4021,CVE-2015-4022,CVE-2015-4024,CVE-2015-4026,CVE-2015-4148,CVE-2015-4598,CVE-2015-4599,CVE-2015-4600,CVE-2015-4601,CVE-2015-4602,CVE-2015-4603,CVE-2015-4643,CVE-2015-4644 Sources used: SUSE Linux Enterprise Software Development Kit 12 (src): php5-5.5.14-30.1 SUSE Linux Enterprise Module for Web Scripting 12 (src): php5-5.5.14-30.1
SUSE-SU-2015:1253-2: An update that fixes 15 vulnerabilities is now available. Category: security (important) Bug References: 919080,927147,931421,931769,931772,931776,933227,935224,935226,935227,935232,935234,935274,935275 CVE References: CVE-2015-3411,CVE-2015-3412,CVE-2015-4021,CVE-2015-4022,CVE-2015-4024,CVE-2015-4026,CVE-2015-4148,CVE-2015-4598,CVE-2015-4599,CVE-2015-4600,CVE-2015-4601,CVE-2015-4602,CVE-2015-4603,CVE-2015-4643,CVE-2015-4644 Sources used: SUSE Linux Enterprise Module for Web Scripting 12 (src): php5-5.5.14-30.1
released
SUSE-SU-2016:1638-1: An update that fixes 85 vulnerabilities is now available. Category: security (important) Bug References: 884986,884987,884989,884990,884991,884992,885961,886059,886060,893849,893853,902357,902360,902368,910659,914690,917150,918768,919080,921950,922451,922452,923945,924972,925109,928506,928511,931421,931769,931772,931776,933227,935074,935224,935226,935227,935229,935232,935234,935274,935275,938719,938721,942291,942296,945412,945428,949961,968284,969821,971611,971612,971912,973351,973792,976996,976997,977003,977005,977991,977994,978827,978828,978829,978830,980366,980373,980375,981050,982010,982011,982012,982013,982162 CVE References: CVE-2004-1019,CVE-2006-7243,CVE-2014-0207,CVE-2014-3478,CVE-2014-3479,CVE-2014-3480,CVE-2014-3487,CVE-2014-3515,CVE-2014-3597,CVE-2014-3668,CVE-2014-3669,CVE-2014-3670,CVE-2014-4049,CVE-2014-4670,CVE-2014-4698,CVE-2014-4721,CVE-2014-5459,CVE-2014-8142,CVE-2014-9652,CVE-2014-9705,CVE-2014-9709,CVE-2014-9767,CVE-2015-0231,CVE-2015-0232,CVE-2015-0273,CVE-2015-1352,CVE-2015-2301,CVE-2015-2305,CVE-2015-2783,CVE-2015-2787,CVE-2015-3152,CVE-2015-3329,CVE-2015-3411,CVE-2015-3412,CVE-2015-4021,CVE-2015-4022,CVE-2015-4024,CVE-2015-4026,CVE-2015-4116,CVE-2015-4148,CVE-2015-4598,CVE-2015-4599,CVE-2015-4600,CVE-2015-4601,CVE-2015-4602,CVE-2015-4603,CVE-2015-4643,CVE-2015-4644,CVE-2015-5161,CVE-2015-5589,CVE-2015-5590,CVE-2015-6831,CVE-2015-6833,CVE-2015-6836,CVE-2015-6837,CVE-2015-6838,CVE-2015-7803,CVE-2015-8835,CVE-2015-8838,CVE-2015-8866,CVE-2015-8867,CVE-2015-8873,CVE-2015-8874,CVE-2015-8879,CVE-2016-2554,CVE-2016-3141,CVE-2016-3142,CVE-2016-3185,CVE-2016-4070,CVE-2016-4073,CVE-2016-4342,CVE-2016-4346,CVE-2016-4537,CVE-2016-4538,CVE-2016-4539,CVE-2016-4540,CVE-2016-4541,CVE-2016-4542,CVE-2016-4543,CVE-2016-4544,CVE-2016-5093,CVE-2016-5094,CVE-2016-5095,CVE-2016-5096,CVE-2016-5114 Sources used: SUSE Linux Enterprise Server 11-SP2-LTSS (src): php53-5.3.17-47.1