|
|
Subscribe / Log in / New account

Security

Ruby security flaws expose release process problems

By Jake Edge
July 2, 2008

Some serious integer overflows in the Ruby language were recently discovered and fixed, but the process has left some in the community unhappy about how it was done. One of the biggest problems was that the official patched versions of the language broke its signature application: Rails. The overflows may lead to arbitrary code execution which left some users in a quandary, trying to decide whether to close known holes in the language or to keep their web applications running.

There still seems to be some question about whether the holes are exploitable or not, but one thing is abundantly clear: they were fixed in the public CVS several days before any kind of security announcement was made. It was made worse by referring to the CVE numbers in the commit message. For anyone looking for a possibly exploitable Ruby flaw—one that had yet to be publicly announced—that would be a glaringly obvious place to start.

When a release and announcement went out, some of the versions specified would cause Rails, the web application framework, to segfault. No new updates have been posted to the Ruby language web site leaving distributions and users to fill in the gap. Some frantic scrambling can be seen on a thread on the ruby-talk mailing list as folks with production Rails applications cast about for solutions.

Part of the problem may stem from the number of separate language versions the Ruby team is trying to support. Three stable versions (1.8.5, 1.8.6, and 1.8.7) as well as one development version (1.9.0) are all affected by these vulnerabilities. Unfortunately, all four of the updated packages had one or more problems that either didn't fix all of the vulnerabilities or broke Rails. Those are still the versions suggested as a fix as of this writing.

The new versions were based on the latest code in the CVS tree which evidently had not been tested completely. There are several test suites available for Ruby and Rails that would have caught these problems, but they apparently were not run. It is certainly important to get security fixes out quickly, but introducing other vulnerabilities and/or incompatibilities with existing code is a rather high price to pay. As is waiting ten (and counting...) days for a proper fix from upstream.

For the most part, Linux distributions have resolved the problem for themselves by either backporting the fixes into the version they already support or by fixing the updated version provided. For example, Fedora 9 has done three separate releases to fully resolve the problem, the first to upgrade to the suggested upstream version (1.8.6p230), a second to resolve a segfault introduced somewhere between p114 and p230, and a third to handle the problem of Rails being broken.

There is some indication that the Ruby team does not consider the flaws to be exploitable for code execution but, if so, they are still clearly denial-of-service vulnerabilities. The continued silence, at least on the official website, should also give one pause. The release process for Ruby seems to have fairly serious holes in it. This has caused some to issue a plea for a release process on the ruby-core mailing list.

In addition, Dominique Brezinski claims that these bugs or some that were closely related were disclosed several years ago (see comment 43) and essentially ignored at that time. This is disconcerting for a language that is being increasingly used in web applications and other internet-facing services. One can only hope that this incident will serve as a wake up call to the Ruby developers. Failing that, if additional incidents like this occur, it may instead serve as a wake up call for those who depend on Ruby.

Comments (3 posted)

Brief items

The web browser "insecurity iceberg"

Stefan Frei and company have posted the results of a lengthy survey on web browser security, looking, in particular, at how many users were running versions without known vulnerabilities. "[W]e discovered that at most 83.3% of Firefox users, 65.3% of Safari users, 56.1% of Opera users, and 47.6% of Internet Explorer users were using the latest most secure browser version on any day between January 2007 to June 2008... Despite the single-click integrated auto-update functionality of Firefox, rather surprisingly, 16.7% Firefox users (one out of six) continue to surf the Web with an outdated version of the Web browser." But the real problem, they say, is with insecure plugins.

Comments (26 posted)

New vulnerabilities

firefox: multiple vulnerabilities

Package(s):firefox CVE #(s):CVE-2008-2798 CVE-2008-2799 CVE-2008-2800 CVE-2008-2801 CVE-2008-2802 CVE-2008-2803 CVE-2008-2805 CVE-2008-2806 CVE-2008-2807 CVE-2008-2808 CVE-2008-2809 CVE-2008-2810 CVE-2008-2811
Created:July 2, 2008 Updated:January 8, 2009
Description: Versions 1.5 and 2.0 of the firefox browser suffer from a long, scary list of vulnerabilities; see the Ubuntu or Red Hat advisories for the full story.
Alerts:
Mageia MGASA-2012-0176 iceape 2012-07-21
Debian DSA-1697-1 iceape 2009-01-07
Fedora FEDORA-2008-6706 thunderbird 2008-08-07
Gentoo 200808-03 mozilla-firefox 2008-08-06
Fedora FEDORA-2008-6737 thunderbird 2008-08-07
Mandriva MDVSA-2008:155 mozilla-thunderbird 2008-07-25
Red Hat RHSA-2008:0616-01 thunderbird 2008-07-23
Slackware SSA:2008-198-01 mozilla 2008-07-17
Slackware SSA:2008-191-03 seamonkey 2008-07-10
SuSE SUSE-SA:2008:034 MozillaFirefox 2008-07-11
Fedora FEDORA-2008-6193 seamonkey 2008-07-08
Fedora FEDORA-2008-6196 seamonkey 2008-07-08
rPath rPSA-2008-0216-1 firefox 2008-07-08
Ubuntu USN-629-1 mozilla-thunderbird, thunderbird 2008-07-25
CentOS CESA-2008:0616 thunderbird 2008-07-24
Mandriva MDVSA-2008:155-1 mozilla-thunderbird 2008-07-27
Debian DSA-1621-1 icedove 2008-07-27
Debian DSA-1615-1 xulrunner 2008-07-23
Slackware SSA:2008-198-02 seamonkey 2008-07-17
Slackware SSA:2008-191-01 firefox 2008-07-10
Debian DSA-1607-1 iceweasel 2008-07-11
Mandriva MDVSA-2008:136 mozilla-firefox 2008-07-08
Fedora FEDORA-2008-6127 blam 2008-07-06
Fedora FEDORA-2008-6127 gnome-python2-extras 2008-07-06
Fedora FEDORA-2008-6127 Miro 2008-07-06
Fedora FEDORA-2008-6127 chmsee 2008-07-06
Fedora FEDORA-2008-6127 ruby-gnome2 2008-07-06
Fedora FEDORA-2008-6127 galeon 2008-07-06
Fedora FEDORA-2008-6127 openvrml 2008-07-06
Fedora FEDORA-2008-6127 epiphany-extensions 2008-07-06
Fedora FEDORA-2008-6127 liferea 2008-07-06
Fedora FEDORA-2008-6127 epiphany 2008-07-06
Fedora FEDORA-2008-6127 kazehakase 2008-07-06
Fedora FEDORA-2008-6127 gnome-web-photo 2008-07-06
Fedora FEDORA-2008-6127 yelp 2008-07-06
Fedora FEDORA-2008-6127 gtkmozembedmm 2008-07-06
Fedora FEDORA-2008-6127 devhelp 2008-07-06
Fedora FEDORA-2008-6127 firefox 2008-07-06
CentOS CESA-2008:0569 firefox 2008-07-06
CentOS CESA-2008:0549 firefox 2008-07-02
CentOS CESA-2008:0547 seamonkey 2008-07-02
Red Hat RHSA-2008:0569-01 firefox 2008-07-02
Red Hat RHSA-2008:0549-01 firefox 2008-07-02
Red Hat RHSA-2008:0547-01 seamonkey 2008-07-02
Ubuntu USN-619-1 firefox 2008-07-02

Comments (none posted)

kernel: multiple DoS vulnerabilities

Package(s):kernel CVE #(s):CVE-2008-2372 CVE-2008-2750 CVE-2008-2826
Created:June 27, 2008 Updated:June 25, 2009
Description: The kernel package contains multiple vulnerabilities, the most serious of which can allow an unprivileged user to cause a denial of service.
Alerts:
Fedora FEDORA-2009-6846 kernel 2009-06-23
Fedora FEDORA-2009-5383 kernel 2009-05-25
CentOS CESA-2008:0957 kernel 2008-11-05
Red Hat RHSA-2008:0957-02 kernel 2008-11-04
Ubuntu USN-659-1 linux, linux-source-2.6.15/22 2008-10-27
SuSE SUSE-SA:2008:052 kernel 2008-10-21
Red Hat RHSA-2008:0585-01 kernel 2008-08-26
Debian DSA-1630-1 linux-2.6 2008-08-21
Mandriva MDVSA-2008:167 kernel 2008-08-12
Red Hat RHSA-2008:0612-01 kernel 2008-08-04
Mandriva MDVSA-2008:174 kernel 2008-08-19
CentOS CESA-2008:0612 kernel 2008-08-06
SuSE SUSE-SA:2008:038 kernel 2008-07-29
SuSE SUSE-SA:2008:035 kernel 2008-07-21
SuSE SUSE-SA:2008:037 kernel 2008-07-22
Ubuntu USN-625-1 linux 2008-07-15
Fedora FEDORA-2008-5893 kernel 2008-07-02
rPath rPSA-2008-0207-1 kernel 2008-06-27

Comments (none posted)

libetpan: denial of service

Package(s):libetpan CVE #(s):
Created:June 26, 2008 Updated:July 2, 2008
Description: From the Fedora alert: Update to new upstream version 0.54 fixing a crash (NULL pointer dereference) in the mail message header parser. Note: There is no application in Fedora using libetpan library for which such crash could be considered a security issue. This can only be a security sensitive issue for some 3rd party, not packages applications.
Alerts:
Fedora FEDORA-2008-5469 libetpan 2008-06-26
Fedora FEDORA-2008-5480 libetpan 2008-06-26

Comments (none posted)

motion: off-by-one error

Package(s):motion CVE #(s):CVE-2008-2654
Created:July 1, 2008 Updated:July 2, 2008
Description: From the Gentoo advisory: Nico Golde reported an off-by-one error within the read_client() function in the webhttpd.c file, leading to a stack-based buffer overflow. Stefan Cornelius (Secunia Research) reported a boundary error within the same function, also leading to a stack-based buffer overflow. Both vulnerabilities require that the HTTP Control interface is enabled.
Alerts:
Gentoo 200807-02 motion 2008-07-01

Comments (none posted)

mysql: privilege escalation

Package(s):mysql CVE #(s):CVE-2008-2079
Created:July 2, 2008 Updated:March 8, 2010
Description: From the Red Hat advisory: MySQL did not correctly check directories used as arguments for the DATA DIRECTORY and INDEX DIRECTORY directives. Using this flaw, an authenticated attacker could elevate their access privileges to tables created by other database users. Note: this attack does not work on existing tables. An attacker can only elevate their access to another user's tables as the tables are created. As well, the names of these created tables need to be predicted correctly for this attack to succeed.

Version 5.0.50sp1a fixes the problem.

Alerts:
rPath rPSA-2010-0014-1 mysql 2010-03-07
Mandriva MDVSA-2010:012 mysql 2010-01-17
Mandriva MDVSA-2010:011 mysql 2010-01-17
CentOS CESA-2010:0110 mysql 2010-02-17
Red Hat RHSA-2010:0109-01 mysql 2010-02-16
CentOS CESA-2010:0109 mysql 2010-03-01
Red Hat RHSA-2010:0110-01 mysql 2010-02-16
CentOS CESA-2009:1289 mysql 2009-09-15
Red Hat RHSA-2009:1289-02 mysql 2009-09-02
Red Hat RHSA-2009:1067-01 Red Hat Application Stack 2009-05-26
Mandriva MDVSA-2009:094 mysql 2009-04-22
Ubuntu USN-671-1 mysql-dfsg-5.0 2008-11-17
Gentoo 200809-04 mysql 2008-09-04
SuSE SUSE-SR:2008:017 powerdns, dnsmasq, python, mailman, ruby, Opera, neon, rxvt-unicode, perl, wireshark, namazu, gnome-screensaver, mysql 2008-08-29
SuSE SUSE-SA:2008:041 openwsman 2008-08-14
Red Hat RHSA-2008:0768-01 mysql 2008-07-24
Mandriva MDVSA-2008:149 mysql 2008-07-19
Mandriva MDVSA-2008:150 mysql 2007-07-19
Debian DSA-1608-1 mysql-dfsg-5.0 2008-07-13
Red Hat RHSA-2008:0510-01 RH Application Stack 2008-07-02

Comments (none posted)

nasm: buffer overflow

Package(s):nasm CVE #(s):
Created:June 26, 2008 Updated:July 2, 2008
Description: From the Red Hat bug database entry: There are several (low impact, but still) buffer overflows in NASM releases prior to 2.03.01. Additionally, in NASM prior to 2.03, some code that use the EQU instruction would silently produce incorrect code.
Alerts:
Fedora FEDORA-2008-5473 nasm 2008-06-26

Comments (none posted)

perl: insecure use of chmod

Package(s):perl CVE #(s):CVE-2008-2827
Created:June 26, 2008 Updated:July 16, 2009
Description: The Perl language uses chmod insecurely in the rmtree function.
Alerts:
Fedora FEDORA-2009-7680 perl 2009-07-15
SuSE SUSE-SR:2008:017 powerdns, dnsmasq, python, mailman, ruby, Opera, neon, rxvt-unicode, perl, wireshark, namazu, gnome-screensaver, mysql 2008-08-29
Mandriva MDVSA-2008:165 perl 2008-08-11
Fedora FEDORA-2008-5739 perl 2008-06-26

Comments (1 posted)

sympa: denial of service

Package(s):sympa CVE #(s):CVE-2008-1648
Created:July 2, 2008 Updated:July 7, 2008
Description: The sympa mailing list manager can be made to crash when processing "certain types of malformed messages."
Alerts:
Mandriva MDVSA-2008:133 sympa 2008-07-04
Debian DSA-1600-1 sympa 2008-07-01

Comments (none posted)

Page editor: Jake Edge
Next page: Kernel development>>


Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds