Bug#413926: wordpress: Should not ship with Etch

2007-03-12 Thread Steve Langasek
Sorry to be a queue-jumper, but I'd like to see the TC address this
wordpress question quickly so that the release team doesn't have to make a
decision by default for etch while the TC is deliberating (or sleeping, as
the case may be :-).

In http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=413926;msg=99, Neil
McGovern seems to make a good point that wordpress's security track record
is comparable to that of other web apps in the same category, such as
phpmyadmin, moodle, phpbb2, and bugzilla.

However, on closer examination, the source data that Neil used here
(svn://svn.debian.org/svn/secure-testing/data/CVE/list) covers *all*
historical CVEs dating back to 1999.  This means that, while the history for
phpbb2 and bugzilla includes CVE entries dating back to 2002, and the
history for phpmyadmin stretches back to 2001, the earliest CVE for
wordpress, a comparatively young piece of software, is CVE-2004-1559.
Viewed this way, wordpress definitely appears to have one of the /highest/
rates of security holes for webapps of its class.  If the security team
believes this is likely to remain the case, then it seems perfectly
reasonable to me that they would not want the package to be included in a
stable release.

FWIW, I also took a look at some popcon numbers for these webapps, and
here's what I found for number of reported installs:

  phpmyadmin: 3504
  wordpress: 245
  phpbb2: 197
  bugzilla: 148

So that makes wordpress somewhat middle-of-the-road by this metric.  But of
course, almost all of the packages with higher CVE counts, in addition to
having longer histories, also have much longer install bases -- packages
like the kernel, the web browsers, apache2, ethereal, and php4.

I would conclude here that there's insufficient grounds for overriding the
security team's decision.

Does anyone disagree or think more information is needed, or should I
propose a vote?

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
[EMAIL PROTECTED]   http://www.debian.org/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bug#413926: wordpress: Should not ship with Etch

2007-03-12 Thread Florian Weimer
* Anthony Towns:

 Viewed this way, wordpress definitely appears to have one of the /highest/
 rates of security holes for webapps of its class.

 14 bugs per year versus 12 for moodle and phpbb2 doesn't seem that big
 a difference to me.

 I'm not sure that bug counts like this are really useful though -- they
 don't measure the severity of the problems, and could be indicative of
 popular code that's being regularly fixed as much as low quality code
 that's being regularly broken.

Unfortuantely, our severity ratings aren't very good (this covers only
bugs from 2005 onwards):

moodle|low|5
moodle|medium|4
moodle|unimportant|5
moodle|unknown|9
phpbb2|high|1
phpbb2|low|4
phpbb2|medium|5
phpbb2|unimportant|16
phpbb2|unknown|15
wordpress|high|1
wordpress|low|5
wordpress|medium|7
wordpress|unimportant|11
wordpress|unknown|15

Apart from that, I'm not sure how much meaning we should attach to
these numbers, even if we had a higher number of vulnerabilities and
more rigorous analysis of each one.  (For instance, #363580 is
apparently not included in the counts above.)

From a software quality point of view, wordpress shares many of the
design flaws typically found in PHP applications.  For instance, it
does not use prepared statements, and consequently does not separate
SQL statements and their parameters in a way that can be audited in a
straightforward manner:

wp-includes/registration.php: return $wpdb-get_var(SELECT ID FROM 
$wpdb-users WHERE user_email = '$email');

The function that guards $email against malicious characters is
contained in the file wp-includes/formatting.php, without any hint
that it is security-relevant.

In another case, it's less clear if it's impossible to inject SQL via
the configuration option start_of_week.

wp-includes/general-template.php: $arcresults = $wpdb-get_results(SELECT 
DISTINCT WEEK(post_date, $start_of_week) AS `week`, YEAR(post_date) AS yr, 
DATE_FORMAT(post_date, '%Y-%m-%d') AS mmdd, count(ID) as posts FROM 
$wpdb-posts WHERE post_type = 'post' AND post_status = 'publish' GROUP BY 
WEEK(post_date, $start_of_week), YEAR(post_date) ORDER BY post_date DESC . 
$limit);

AFAICS, that option is not properly sanitized when it is being set.

Wordpress includes a private copy of ezSQL (LGPLed, according to an
extremly brief statement by upstream), without proper attribution in
the debian/copyright file.

But all that can be considered best current practice, so to speak, and
should not necessarily be a reason to exclude a package from a stable
release.  There might be non-technical concerns regarding the promises
of security support or the maintenance status in Debian, but I'm not
qualified to judge that.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#413926: wordpress: Should not ship with Etch

2007-03-12 Thread Steve Langasek
On Tue, Mar 13, 2007 at 01:46:45AM +1000, Anthony Towns wrote:
 Dividing by years gives:

 CVEs Earliest Years CVEs/Year

   43 2004 3  14.3  wordpress
   63 2002 5  12.6  phpbb2
   37 2004 3  12.3  moodle
   46 2002 5   9.2  bugzilla
   45 2001 6   7.5  phpmyadmin

  Viewed this way, wordpress definitely appears to have one of the /highest/
  rates of security holes for webapps of its class.

 14 bugs per year versus 12 for moodle and phpbb2 doesn't seem that big
 a difference to me.

Sure.  I'm not arguing that I would have made the same decision as the
security team in their place, I just think that there's insufficient
evidence to support overriding their decision.

 I'm not sure that bug counts like this are really useful though -- they
 don't measure the severity of the problems, and could be indicative of
 popular code that's being regularly fixed as much as low quality code
 that's being regularly broken.

Indeed, standing alone a bug count can equally suggest a thorough audit or a
terribly buggy piece of software.  As the folks doing the backports of
security fixes for wordpress, aren't the security team best positioned to
know which applies here?

  FWIW, I also took a look at some popcon numbers for these webapps, and
  here's what I found for number of reported installs:
phpmyadmin: 3504
wordpress: 245
phpbb2: 197
bugzilla: 148

 Of those packages, wordpress was the only one not released with sarge, so I
 don't think the numbers are readily comparable.

Fair enough.

 We seem to have a statement of support from upstream, and an endorsement
 from Neil that it's been supportable as far as testing-security was
 concerned, as well as from Martin Zobel-Helas who's one of the stable
 release managers, so I can't see the need to decline to release it.

I give a lot of weight to concerns expressed by the security team.  Granted,
they don't get to pick their bugs, and it would be unreasonable for the
security team to throw out, say, all packages that had ever had security
bugs, or to decline to support all packages of Priority optional or lower
due to lack of manpower; but I think the difference between this package is
bound to have security issues because it's large and addresses a difficult
problem space, and this package is bound to have security issues because
its very poorly designed or has atypically low standards for acceptance of
contributions is relevant.  It's my impression that the security team's
objections to wordpress stem from a belief that it lies in the latter
category.

 I'd consider it the maintainer's and RMs' call though.

Ok, does that mean you agree the TC should not override any decisions here?

Hmm -- if it's the RMs' call, I guess that means Andi and I both are
required to abstain from any vote on this (Constitution 6.3.2).  Is it still
ok for me to call for a vote? :)  (FWIW, as RM the decision I consider to
have made is defer to the judgement of the security team, so I guess the
TC does have a choice on who to overrule...)

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
[EMAIL PROTECTED]   http://www.debian.org/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]