CVE-2009-4492
WEBrick Improper Input Validation vulnerability
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.
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 |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
rubyRed Hat:enterprise_linux:4::as |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-debuginfoRed Hat:enterprise_linux:4::as |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-develRed Hat:enterprise_linux:4::as |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-docsRed Hat:enterprise_linux:4::as |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-libsRed Hat:enterprise_linux:4::as |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-modeRed Hat:enterprise_linux:4::as |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-tcltkRed Hat:enterprise_linux:4::as |
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 |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
rubyRed Hat:enterprise_linux:4::desktop |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-debuginfoRed Hat:enterprise_linux:4::desktop |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-develRed Hat:enterprise_linux:4::desktop |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-docsRed Hat:enterprise_linux:4::desktop |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-libsRed Hat:enterprise_linux:4::desktop |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-modeRed Hat:enterprise_linux:4::desktop |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-tcltkRed Hat:enterprise_linux:4::desktop |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
irbRed Hat:enterprise_linux:4::es |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
rubyRed Hat:enterprise_linux:4::es |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-debuginfoRed Hat:enterprise_linux:4::es |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-develRed Hat:enterprise_linux:4::es |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-docsRed Hat:enterprise_linux:4::es |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-libsRed Hat:enterprise_linux:4::es |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-modeRed Hat:enterprise_linux:4::es |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-tcltkRed Hat:enterprise_linux:4::es |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
irbRed Hat:enterprise_linux:4::ws |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
rubyRed Hat:enterprise_linux:4::ws |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-debuginfoRed Hat:enterprise_linux:4::ws |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-develRed Hat:enterprise_linux:4::ws |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-docsRed Hat:enterprise_linux:4::ws |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-libsRed Hat:enterprise_linux:4::ws |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-modeRed Hat:enterprise_linux:4::ws |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
ruby-tcltkRed Hat:enterprise_linux:4::ws |
before 0:1.8.1-16.el4 | 0:1.8.1-16.el4 |
rubyRed Hat:enterprise_linux:5::server |
before 0:1.8.5-19.el5_6.1 | 0:1.8.5-19.el5_6.1 |
ruby-debuginfoRed Hat:enterprise_linux:5::server |
before 0:1.8.5-19.el5_6.1 | 0:1.8.5-19.el5_6.1 |
ruby-develRed Hat:enterprise_linux:5::server |
before 0:1.8.5-19.el5_6.1 | 0:1.8.5-19.el5_6.1 |
ruby-docsRed Hat:enterprise_linux:5::server |
before 0:1.8.5-19.el5_6.1 | 0:1.8.5-19.el5_6.1 |
ruby-irbRed Hat:enterprise_linux:5::server |
before 0:1.8.5-19.el5_6.1 | 0:1.8.5-19.el5_6.1 |
ruby-libsRed Hat:enterprise_linux:5::server |
before 0:1.8.5-19.el5_6.1 | 0:1.8.5-19.el5_6.1 |
ruby-modeRed Hat:enterprise_linux:5::server |
before 0:1.8.5-19.el5_6.1 | 0:1.8.5-19.el5_6.1 |
ruby-rdocRed Hat:enterprise_linux:5::server |
before 0:1.8.5-19.el5_6.1 | 0:1.8.5-19.el5_6.1 |
ruby-riRed Hat:enterprise_linux:5::server |
before 0:1.8.5-19.el5_6.1 | 0:1.8.5-19.el5_6.1 |
ruby-tcltkRed Hat:enterprise_linux:5::server |
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
| When | Changed | Sources |
|---|---|---|
| 2026-11-03 | aliases | EUVD |
| 2026-11-02 | created | CVE List, Exploit-DB, GitHub Advisories, NVD, OSV |
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