[13271] in bugtraq

home help back first fref pref prev next nref lref last post

Re: PHP3 safe_mode and popen()

daemon@ATHENA.MIT.EDU (Kristian Koehntopp)
Thu Jan 6 17:00:45 2000

Content-Type: text
Message-Id:  <200001060831.JAA09468@valiant.koehntopp.de>
Date:         Thu, 6 Jan 2000 09:31:44 +0100
Reply-To: Kristian Koehntopp <kris@KOEHNTOPP.DE>
From: Kristian Koehntopp <kris@KOEHNTOPP.DE>
X-To:         bugtraq@securityfocus.com
To: BUGTRAQ@SECURITYFOCUS.COM

In netuse.lists.bugtraq you write:
>	Right... Your patch seems to work only with php-3.0.12.
>	I attach modified version for php-3.0.13.

Actually, my patch is against the current CVS of PHP and the
diff I posted was being generated directly from the CVS. Get
yourself a copy of current PHP directly from the CVS and all is
well.

>@@ -601,6 +602,11 @@
> 			snprintf(buf,sizeof(buf),"%s/%s",php3_ini.safe_mode_exec_dir,arg1->value.str.val);
> 		}
> 		fp = popen(buf,p);
>+		
>+		tmp = _php3_escapeshellcmd(buf);
>+		fp = popen(tmp,p);
>+		efree(tmp); /* temporary copy, no longer necessary */
>+		

Your patch does popen twice and the first popen() is unescaped.
This is broken and should not be used. Again, please use the CVS
to get a properly patched version of PHP or wait for the bugfix
release of PHP which will be out RSN.

Kristian

home help back first fref pref prev next nref lref last post