Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:55824 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 26439 invoked from network); 16 Oct 2011 21:14:10 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 16 Oct 2011 21:14:10 -0000 Authentication-Results: pb1.pair.com smtp.mail=pierre.php@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=pierre.php@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.161.170 as permitted sender) X-PHP-List-Original-Sender: pierre.php@gmail.com X-Host-Fingerprint: 209.85.161.170 mail-gx0-f170.google.com Received: from [209.85.161.170] ([209.85.161.170:59726] helo=mail-gx0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 45/F7-07463-1294B9E4 for ; Sun, 16 Oct 2011 17:14:09 -0400 Received: by ggnk5 with SMTP id k5so517774ggn.29 for ; Sun, 16 Oct 2011 14:14:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=w8gRhd9WL6Ty6wTJ7TWTYGNw76SBILG7fzqCGYp/fKE=; b=j9W5Vdc+f+ATvNkaTkEjTU2zVXjkmN5N3FHbbTBY9FlghCbH9pkm5XlgqtKa7jJIMd 2/Sf1gqZidNoSkm3Yf8kTJKGSL72aiWvUKT5LuK4J283xeCD5o7YbbH7RQWYUp2VUKYt Oqgb5zQ92dLSSg9NJBqv8y6mjpJhEOLj+D1v8= MIME-Version: 1.0 Received: by 10.236.178.38 with SMTP id e26mr7361474yhm.31.1318799646446; Sun, 16 Oct 2011 14:14:06 -0700 (PDT) Received: by 10.147.170.17 with HTTP; Sun, 16 Oct 2011 14:14:06 -0700 (PDT) In-Reply-To: <4E9B2D02.2080206@sugarcrm.com> References: <4E969596.4090704@akbkhome.com> <4E970257.2010906@sugarcrm.com> <4E977A4B.4020609@akbkhome.com> <4E977D07.4010503@lerdorf.com> <4E9A1E93.6050804@sugarcrm.com> <4E9B2D02.2080206@sugarcrm.com> Date: Sun, 16 Oct 2011 23:14:06 +0200 Message-ID: To: Stas Malyshev Cc: Rasmus Lerdorf , Alan Knowles , "internals@lists.php.net" Content-Type: text/plain; charset=ISO-8859-1 Subject: Re: [PHP-DEV] is_a fix for 5.4 and HEAD From: pierre.php@gmail.com (Pierre Joye) On Sun, Oct 16, 2011 at 9:14 PM, Stas Malyshev wrote: > Hi! > > On 10/16/11 3:39 AM, Pierre Joye wrote: >> >> There was example codes in previous discussions, here and on security. >> The document used for the CVE assignment has some as well. >> >> >> http://www.byte.nl/blog/2011/09/23/security-bug-in-is_a-function-in-php-5-3-7-5-3-8/ >> https://bugs.php.net/bug.php?id=55475 >> https://bugzilla.redhat.com/show_bug.cgi?id=741020 > > I know about these, this is why I specifically asked for real-life examples. > And yes, it does matter - if it's completely invented example, it's one > thing, if it's part of live widely deployed code, it's another. They are not completely invented examples. Or do you ask for any single issue we have to show the real life examples? In short, we do not. >> It is not correct. If a code, for whatever reason, was working fine >> until now then there is no reason one has to change it to make it work >> again, or even worst in this case, to make it safe again. >> >> And yes, I agree that this kind of code is ugly and should not have >> written that way, but we cannot do anything but be sure that we don't >> make this code even worst. > > The problem is not the beauty of such code, but the fact that we are > breaking our APIs to match somebody's code that is insecure anyway, The fact is that we have many broken APIs we can't fix for BC reasons. We have to live with that in the 5.x serie. > should never be written in such a way and could very well be completely imaginary. could, should, would, it does not change the problem for a single yota. We can't have a variable ways to work with BC and security issues. We simply can't as we have no way, absolutely no way, to be sure that a given case is not used (widely or not). > The reason to change such code is exactly that this code is insecure and > broken, and the fact that nobody could break it by one specific way doesn't > mean there aren't other ways. We have discussed that already on security, I barely see a reason to begin this discussion again. There is a clear possible security problem, clearly identified and not present before this "fix" was applied. It is easy to fix and does not make PHP worst or better than what it is now but only ensure that there is no BC, or new security issues. Cheers, -- Pierre @pierrejoye | http://blog.thepimp.net | http://www.libgd.org