[Full-disclosure] [ GLSA 201001-09 ] Ruby: Terminal Control Character Injection



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Gentoo Linux Security Advisory GLSA 201001-09
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
http://security.gentoo.org/
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Severity: Normal
Title: Ruby: Terminal Control Character Injection
Date: January 14, 2010
Bugs: #300468
ID: 201001-09

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Synopsis
========

An input sanitation flaw in the WEBrick HTTP server included in Ruby
might allow remote attackers to inject arbitrary control characters
into terminal sessions.

Background
==========

Ruby is an interpreted scripting language for quick and easy
object-oriented programming. It comes bundled with a HTTP server
("WEBrick").

Affected packages
=================

-------------------------------------------------------------------
Package / Vulnerable / Unaffected
-------------------------------------------------------------------
1 dev-lang/ruby < 1.8.7_p249 >= 1.8.7_p249
*>= 1.8.6_p388

Description
===========

Giovanni Pellerano, Alessandro Tanasi and Francesco Ongaro reported
that WEBrick does not filter terminal control characters, for instance
when handling HTTP logs.

Impact
======

A remote attacker could send a specially crafted HTTP request to a
WEBrick server to inject arbitrary terminal control characters,
possibly resulting in the execution of arbitrary commands, data loss,
or other unspecified impact. This could also be used to facilitate
other attacks.

Workaround
==========

There is no known workaround at this time.

Resolution
==========

All Ruby 1.8.7 users should upgrade to the latest version:

# emerge --sync
# emerge --ask --oneshot --verbose ">=dev-lang/ruby-1.8.7_p249"

All Ruby 1.8.6 users should upgrade to the latest version:

# emerge --sync
# emerge --ask --oneshot --verbose ">=dev-lang/ruby-1.8.6_p388"

References
==========

[ 1 ] CVE-2009-4492
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-4492

Availability
============

This GLSA and any updates to it are available for viewing at
the Gentoo Security Website:

http://security.gentoo.org/glsa/glsa-201001-09.xml

Concerns?
=========

Security is a primary focus of Gentoo Linux and ensuring the
confidentiality and security of our users machines is of utmost
importance to us. Any security concerns should be addressed to
security@xxxxxxxxxx or alternatively, you may file a bug at
https://bugs.gentoo.org.

License
=======

Copyright 2010 Gentoo Foundation, Inc; referenced text
belongs to its owner(s).

The contents of this document are licensed under the
Creative Commons - Attribution / Share Alike license.

http://creativecommons.org/licenses/by-sa/2.5

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/

Relevant Pages

  • [ GLSA 201001-09 ] Ruby: Terminal Control Character Injection
    ... An input sanitation flaw in the WEBrick HTTP server included in Ruby ... WEBrick server to inject arbitrary terminal control characters, ...
    (Bugtraq)
  • Webrick
    ... I used Webrick to get a http server: ... Now the problem is that i can see the html in my browser but the result of embedded Ruby code only in my Konsole. ...
    (comp.lang.ruby)
  • webrick-webdav gem: error in number of arguments to get_handler
    ... webdav gem on ruby 1.8.7. ... if I run the following script to start a WEBrick server ... def get_handler ... WEBrick version and webrick-webdav gem ...
    (comp.lang.ruby)
  • [ANN] Ruby 1.9.1-p378 released
    ... I just have released Ruby 1.9.1-p378. ... This release fixes a vulnerability in WEBrick. ... Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ ...
    (comp.lang.ruby)
  • Re: ruby httpd/cgi server for a directory
    ... Which is the best/easiest to use: webrick, lighttpd, mongrel, or ... It's standard with Ruby and is capable and flexible. ... It's not nearly so fast as mongrel, but is plenty fast for what you describe. ...
    (comp.lang.ruby)