CVE-2009-4492
WEBrick Improper Input Validation vulnerability
WEBrick 1.3.1 in Ruby 1.8.6 through patchlevel 383, 1.8.7 through patchlevel 248, 1.8.8dev, 1.9.1 through patchlevel 376, and 1.9.2dev writes data to a log file without sanitizing non-printable characters, which might allow remote attackers to modify a window's title, or possibly execute arbitrary commands or overwrite files, via an HTTP request containing an escape sequence for a terminal emulator.
Exploit likelihood
What each source reports
NVD Score used
7.5
WEBrick 1.3.1 in Ruby 1.8.6 through patchlevel 383, 1.8.7 through patchlevel 248, 1.8.8dev, 1.9.1 through patchlevel 376, and 1.9.2dev writes data to a log file without sanitizing non-printable characters, which might allow remote attackers to modify a window's title, or possibly execute arbitrary commands or overwrite files, via an HTTP request containing an escape sequence for a terminal emulator.
- Record
CVE-2009-4492- CVSS 2.0
- 7.5 High
AV:N/AC:L/Au:N/C:P/I:P/A:P - Updated
- 2026-11-02
CVE List No score
WEBrick 1.3.1 in Ruby 1.8.6 through patchlevel 383, 1.8.7 through patchlevel 248, 1.8.8dev, 1.9.1 through patchlevel 376, and 1.9.2dev writes data to a log file without sanitizing non-printable characters, which might allow remote attackers to modify a window's title, or possibly execute arbitrary commands or overwrite files, via an HTTP request containing an escape sequence for a terminal emulator.
- Record
CVE-2009-4492- Updated
- 2026-11-02
EUVDEUVD-2017-0178 No score
WEBrick 1.3.1 in Ruby 1.8.6 through patchlevel 383, 1.8.7 through patchlevel 248, 1.8.8dev, 1.9.1 through patchlevel 376, and 1.9.2dev writes data to a log file without sanitizing non-printable characters, which might allow remote attackers to modify a window's title, or possibly execute arbitrary commands or overwrite files, via an HTTP request containing an escape sequence for a terminal emulator.
- Record
EUVD-2017-0178- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-6mq2-37j5-w6r6 No score
WEBrick Improper Input Validation vulnerability
WEBrick 1.3.1 in Ruby 1.8.6 through patchlevel 383, 1.8.7 through patchlevel 248, 1.8.8dev, 1.9.1 through patchlevel 376, and 1.9.2dev writes data to a log file without sanitizing non-printable characters, which might allow remote attackers to modify a window's title, or possibly execute arbitrary commands or overwrite files, via an HTTP request containing an escape sequence for a terminal emulator.
- Record
GHSA-6mq2-37j5-w6r6- Weakness
- CWE-20
- Updated
- 2026-11-02
OSVGHSA-6mq2-37j5-w6r6 No score
WEBrick Improper Input Validation vulnerability
WEBrick 1.3.1 in Ruby 1.8.6 through patchlevel 383, 1.8.7 through patchlevel 248, 1.8.8dev, 1.9.1 through patchlevel 376, and 1.9.2dev writes data to a log file without sanitizing non-printable characters, which might allow remote attackers to modify a window's title, or possibly execute arbitrary commands or overwrite files, via an HTTP request containing an escape sequence for a terminal emulator.
- Record
GHSA-6mq2-37j5-w6r6- Weakness
- CWE-20
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
webrickRubyGems |
through 1.3.1 | 1.4.0 |
webrickRubyGems |
before 1.4.0, plus listed versions 1.3.11.4.0.beta1 |
1.4.0 |
irbRed Hat:enterprise_linux:4::as From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
rubyRed Hat:enterprise_linux:4::as From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-debuginfoRed Hat:enterprise_linux:4::as From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-develRed Hat:enterprise_linux:4::as From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-docsRed Hat:enterprise_linux:4::as From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-libsRed Hat:enterprise_linux:4::as From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-modeRed Hat:enterprise_linux:4::as From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-tcltkRed Hat:enterprise_linux:4::as From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
Show 34 moreShow less
| Package | Affected | Fixed |
|---|---|---|
irbRed Hat:enterprise_linux:4::desktop From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
rubyRed Hat:enterprise_linux:4::desktop From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-debuginfoRed Hat:enterprise_linux:4::desktop From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-develRed Hat:enterprise_linux:4::desktop From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-docsRed Hat:enterprise_linux:4::desktop From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-libsRed Hat:enterprise_linux:4::desktop From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-modeRed Hat:enterprise_linux:4::desktop From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-tcltkRed Hat:enterprise_linux:4::desktop From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
irbRed Hat:enterprise_linux:4::es From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
rubyRed Hat:enterprise_linux:4::es From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-debuginfoRed Hat:enterprise_linux:4::es From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-develRed Hat:enterprise_linux:4::es From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-docsRed Hat:enterprise_linux:4::es From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-libsRed Hat:enterprise_linux:4::es From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-modeRed Hat:enterprise_linux:4::es From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-tcltkRed Hat:enterprise_linux:4::es From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
irbRed Hat:enterprise_linux:4::ws From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
rubyRed Hat:enterprise_linux:4::ws From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-debuginfoRed Hat:enterprise_linux:4::ws From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-develRed Hat:enterprise_linux:4::ws From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-docsRed Hat:enterprise_linux:4::ws From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-libsRed Hat:enterprise_linux:4::ws From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-modeRed Hat:enterprise_linux:4::ws From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-tcltkRed Hat:enterprise_linux:4::ws From an advisory covering 4 CVEs |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
rubyRed Hat:enterprise_linux:5::server From an advisory covering 5 CVEs |
before 0:1.8.5-19.el5_6.1 | 0:1.8.5-19.el5_6.1 |
ruby-debuginfoRed Hat:enterprise_linux:5::server From an advisory covering 5 CVEs |
before 0:1.8.5-19.el5_6.1 | 0:1.8.5-19.el5_6.1 |
ruby-develRed Hat:enterprise_linux:5::server From an advisory covering 5 CVEs |
before 0:1.8.5-19.el5_6.1 | 0:1.8.5-19.el5_6.1 |
ruby-docsRed Hat:enterprise_linux:5::server From an advisory covering 5 CVEs |
before 0:1.8.5-19.el5_6.1 | 0:1.8.5-19.el5_6.1 |
ruby-irbRed Hat:enterprise_linux:5::server From an advisory covering 5 CVEs |
before 0:1.8.5-19.el5_6.1 | 0:1.8.5-19.el5_6.1 |
ruby-libsRed Hat:enterprise_linux:5::server From an advisory covering 5 CVEs |
before 0:1.8.5-19.el5_6.1 | 0:1.8.5-19.el5_6.1 |
ruby-modeRed Hat:enterprise_linux:5::server From an advisory covering 5 CVEs |
before 0:1.8.5-19.el5_6.1 | 0:1.8.5-19.el5_6.1 |
ruby-rdocRed Hat:enterprise_linux:5::server From an advisory covering 5 CVEs |
before 0:1.8.5-19.el5_6.1 | 0:1.8.5-19.el5_6.1 |
ruby-riRed Hat:enterprise_linux:5::server From an advisory covering 5 CVEs |
before 0:1.8.5-19.el5_6.1 | 0:1.8.5-19.el5_6.1 |
ruby-tcltkRed Hat:enterprise_linux:5::server From an advisory covering 5 CVEs |
before 0:1.8.5-19.el5_6.1 | 0:1.8.5-19.el5_6.1 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| Exploit-DB | Ruby 1.9.1 - WEBrick 'Terminal Escape Sequence in Logs' Command Injection | 2010-01-11 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, Exploit-DB, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2009-4492 is a high vulnerability (CVSS 7.5) in Ruby-lang Webrick, published January 13, 2010. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 16.2%, the 96th percentile. Fixed in webrick 1.4.0.
References
ruby-lang.org/en/news/2010/01/10/webrick-escape-sequence-injection
redhat.com/support/errata/RHSA-2011-0909.html
secunia.com/advisories/37949
vupen.com/english/advisories/2010/0089
redhat.com/support/errata/RHSA-2011-0908.html
ush.it/team/ush/hack_httpd_escape/adv.txt
Show 39 moreShow less
securityfocus.com/bid/37710
securityfocus.com/archive/1/508830/100/0/threaded
securitytracker.com/id?1023429
nvd.nist.gov/vuln/detail/CVE-2009-4492
github.com/advisories/GHSA-6mq2-37j5-w6r6
web.archive.org/web/20100113155532/http://www.vupen.com/english/advisories/2010/0089
web.archive.org/web/20100815010948/http://secunia.com/advisories/37949
web.archive.org/web/20170402100552/http://securitytracker.com/id?1023429
web.archive.org/web/20170908140655/http://www.securityfocus.com/archive/1/508830/100/0/threaded
web.archive.org/web/20200228145937/http://www.securityfocus.com/bid/37710
github.com/rubysec/ruby-advisory-db/blob/master/gems/webrick/CVE-2009-4492.yml
github.com/ruby/webrick
access.redhat.com/errata/RHSA-2011:0908
access.redhat.com/security/updates/classification
ruby-lang.org/en/news/2011/02/18/exception-methods-can-bypass-safe
ruby-lang.org/en/news/2010/08/16/xss-in-webrick-cve-2010-0541
bugzilla.redhat.com/show_bug.cgi?id=554485
bugzilla.redhat.com/show_bug.cgi?id=587731
bugzilla.redhat.com/show_bug.cgi?id=678920
bugzilla.redhat.com/show_bug.cgi?id=682332
security.access.redhat.com/data/csaf/v2/advisories/2011/rhsa-2011_0908.json
access.redhat.com/security/cve/CVE-2009-4492
cve.org/CVERecord?id=CVE-2009-4492
access.redhat.com/security/cve/CVE-2010-0541
cve.org/CVERecord?id=CVE-2010-0541
nvd.nist.gov/vuln/detail/CVE-2010-0541
access.redhat.com/security/cve/CVE-2011-0188
cve.org/CVERecord?id=CVE-2011-0188
nvd.nist.gov/vuln/detail/CVE-2011-0188
access.redhat.com/security/cve/CVE-2011-1005
cve.org/CVERecord?id=CVE-2011-1005
nvd.nist.gov/vuln/detail/CVE-2011-1005
access.redhat.com/errata/RHSA-2011:0909
ruby-lang.org/en/news/2011/02/18/fileutils-is-vulnerable-to-symlink-race-attacks
bugzilla.redhat.com/show_bug.cgi?id=678913
security.access.redhat.com/data/csaf/v2/advisories/2011/rhsa-2011_0909.json
access.redhat.com/security/cve/CVE-2011-1004
cve.org/CVERecord?id=CVE-2011-1004
nvd.nist.gov/vuln/detail/CVE-2011-1004