Ruby: Terminal Control Character Injection — GLSA 201001-09

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

Affected packages

dev-lang/ruby on all architectures
Affected versions < 1.8.7_p249
Unaffected versions >= 1.8.7_p249
revision >= 1.8.6_p388

Background

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

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

Release date
January 14, 2010

Latest revision
January 14, 2010: 01

Severity
normal

Exploitable
remote

Bugzilla entries