¢Â Á¦¸ñ
MS Excel 'msvcrt.memmove()' ÇÔ¼ö ¹öÆÛ ¿À¹öÇ÷οì Ãë¾àÁ¡
¢Â °³¿ä
Microsoft Office Excel¿¡´Â msvcrt.memmove() ÇÔ¼ö »ó¿¡¼ ¹ß»ýÇÏ´Â ½ºÅà ±â¹Ý(Stack-Based)ÀÇ ¹öÆÛ ¿À¹öÇ÷οì Ãë¾àÁ¡ÀÌ Á¸ÀçÇÑ´Ù. ÇØ´ç Ãë¾àÁ¡Àº XLS ÆÄÀÏÀ» ÆÄ½ÌÇÏ´Â °úÁ¤¿¡¼ msvcrt.memmove() ÇÔ¼öÀÇ ÆÄ¶ó¹ÌÅÍ °ªÀ» ÀûÀýÇÏ°Ô °Ë»çÇÏÁö ¾Ê¾Æ ¹ß»ýÇÑ´Ù. °ø°ÝÀÚ´Â ¾ÇÀÇÀûÀÎ XLS ÆÄÀÏÀ» ÅëÇÏ¿© Excel ÇÁ·Î±×·¥À» Å©·¡½¬(crash)½ÃŰ°Å³ª ³ª¾Æ°¡ ÀÓÀÇÀÇ Äڵ带 ½ÇÇàÇÒ ¼öµµ ÀÖ´Ù.
¢Â °ø°ÝÀ¯Çü
Ãë¾àÁ¡À» ÀÌ¿ëÇÑ ¼ºñ½º °ÅºÎ ¶Ç´Â ¿ø°Ý ÄÚµå ½ÇÇà
¢Â ÇØ´ç½Ã½ºÅÛ
Microsoft Office Word 2000 Service Pack 3
Microsoft Office Excel 2000 Service Pack 3
Microsoft Office Outlook 2000 Service Pack 3
Microsoft Office PowerPoint 2000 Service Pack 3
Microsoft Office 2000 MultiLanguage Packs Service Pack 3
Microsoft Office XP Word 2002 Service Pack 3
Microsoft Office XP Excel 2002 Service Pack 3
Microsoft Office XP Outlook 2002 Service Pack 3
Microsoft Office XP PowerPoint 2002 Service Pack 3
Microsoft Office XP Multilingual User Interface Packs Service Pack 3
Microsoft Office Excel 2003 Service Pack 1 or Service Pack 2
Microsoft Office Excel 2003 Viewer Service Pack 1 or Service Pack 2
Microsoft Works Suite 2000
Microsoft Works Suite 2001
Microsoft Works Suite 2002
Microsoft Works Suite 2003
Microsoft Works Suite 2004
Microsoft Works Suite 2005
Microsoft Works Suite 2006
Microsoft Excel X for Mac
Microsoft Excel 2004 for Mac
¢Â ¿µÇâ
°ø°ÝÀÚ´Â Ãë¾àÁ¡À» ÀÌ¿ëÇÏ¿© Microsoft ExcelÀ» Å©·¡½¬(crash)½Ãų ¼ö ÀÖÀ¸¸ç, °ø°ÝÀÚ°¡ ¿øÇÏ´Â ÀÓÀÇÀÇ Äڵ带 ½ÇÇàÇÒ ¼ö ÀÖ´Ù.
¢Â ¼³¸í
ÇØ´ç Ãë¾àÁ¡Àº "Named Range"°¡ Á¤ÀǵǾî ÀÖ´Â XLS ÆÄÀÏ ¼Ó¿¡¼ ¹ß»ýÇÑ´Ù.
"Named Range"´Â Microsoft Excel ÇÁ·Î±×·¥¿¡¼ ´ÜÀÏ Cell ¶Ç´Â ´Ù¼öÀÇ Cell ¹üÀ§¸¦ ƯÁ¤ À̸§(Name)À¸·Î Á¤Çϰí À̸¦ ¹Ýº¹ÀûÀ¸·Î »ç¿ëÇϱâ À§ÇØ Á¦°øÇϵǴ ±â´ÉÀÌ´Ù.
ÀϹÝÀûÀ¸·Î "CELLTEST" ¶ó´Â À̸§À¸·Î Á¤ÀÇµÈ Named Range´Â XLS ÆÄÀÏ ¼Ó¿¡¼ ´ÙÀ½°ú °°ÀÌ ³ªÅ¸³´Ù.
0000084D 00 00 00 00 00 00 00 00 00 00 00 00 06 00 53 68 65 |.............She|
0000085E 65 74 33 8c 00 04 00 52 00 52 00 ae 01 04 00 03 00 |eet3............|
00000880 00 00 00 00 08 0B * 00 00 00 00 00 00 00 00 00 43 |...............C|
00000891 45 4c 4c 54 45 53 54 3b 00 00 01 00 06 00 02 00 02 |ELLTEST;........|
MS Excel¿¡¼´Â ¿ì¼± XLS ÆÄÀÏ ¼Ó¿¡ Á¤ÀÇµÈ "Named Range" µ¥ÀÌÅÍ Áß Ã³¸®ÇÒ Named Range µ¥ÀÌÅÍÀÇ Å©±â¸¦ °áÁ¤Çϱâ À§ÇØ "0B *" °ªÀ» ÀоîµéÀδÙ.
300CD83D MOVSX EAX,WORD PTR DS:[ESI+4]
±×·¯³ª, MOVSX ¸í·ÉÀº sign-extended ó¸® ¸í·ÉÀ̱⠶§¹®¿¡ ÀоîµéÀÎ °ª Áß * ºÎºÐ¿¡ 80(binary 111000) ÀÌ»óÀÇ °ªÀÌ Á¸ÀçÇÒ °æ¿ì, °á°úÀûÀ¸·Î FFFF*0B ÇüÅÂÀÇ Å« 32ºñÆ® À½¼ö°ªÀ¸·Î º¯È¯µÈ´Ù. ÀÌ °ªÀº ´ÙÀ½ msvcrt.memmove() ÇÔ¼öÀÇ size ÆÄ¶ó¹ÌÅÍ °ªÀ¸·Î Àü´ÞµÇ¾î ±× Å©±â¸¸Å µ¥ÀÌÅ͸¦ º¹»çÇÏ°Ô µÈ´Ù.
30002B54 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI] ** µ¥ÀÌÅÍ º¹»ç
void * memmove ( void * dest, const void * src, size_t num );
memmove() ÇÔ¼ö´Â ÀоîµéÀÏ µ¥ÀÌÅÍÀÇ Å©±â¸¦ °Ë»çÇÏÁö ¾Ê°í ¸Þ¸ð¸®°¡ Çã¿ëÇÏ´Â ÇÑ °è¼Ó µ¥ÀÌÅ͸¦ º¹»çÇϱ⠶§¹®¿¡, size¿¡ Áö³ªÄ¡°Ô Å« FFFF*0B(32ºñÆ® À½¼ö)°ªÀÌ Á¦°øµÇ´Â °æ¿ì ¿À¹öÇ÷ο찡 ¹ß»ýÇÏ°Ô µÈ´Ù.
½ÇÁ¦ XLS ÆÄÀÏ¿¡¼ * ºÎºÐ¿¡ 0x80 °ªÀ» »ç¿ëÇÏ¿© Å×½ºÆ®ÇØ º¸¸é, size °ªÀÌ FFFF800B ÀÌ µÇ¾î Read ±ÇÇѸ¸ ÇÒ´çµÈ °ø°£ÀÎ 0x00140000 ¿¡ µ¥ÀÌÅ͸¦ º¹»çÇÏ·Á´Â ½Ãµµ·Î ÀÎÇÏ¿© Access Violation ÀÌ ¹ß»ýÇÏ°Ô µÈ´Ù.
±×·¯³ª, ¾ÆÁ÷ ÇØ´ç Ãë¾àÁ¡À» ÀÌ¿ëÇÏ¿© ÄÚµå ½ÇÇàÀÌ °¡´ÉÇϵµ·Ï ¸¸µå´Â °ø°Ý ÄÚµå´Â °ø°³µÇÁö ¾Ê¾Ò´Ù.
ÇØ´ç Ãë¾àÁ¡Àº "fearwall(ÆÇ¸ÅÀÚ¸í)"¿¡ ÀÇÇØ °æ¸Å »çÀÌÆ® eBay¿¡ ÆÇ¸Å¸¦ À§ÇØ °Ô½ÃµÇ±âµµ ÇßÀ¸¸ç, ÀÔÂû°¡´Â $53 ´Þ·¯¿¡ À̸£·¶´Ù°í ÇÑ´Ù.
http://www.eweek.com/article2/0,1759,1899697,00.asp?kc=EWRSS03129TX1K0000614
* Microsoft Office Excel Remote Code Execution Using a Malformed Range Vulnerability(CVE-2005-4131)
¢Â ÇØ°áÃ¥
¸¶ÀÌÅ©·Î¼ÒÇÁÆ®»ç¿¡¼ Á¦°øÇÏ´Â ÆÐÄ¡¸¦ Àû¿ëÇÔÀ¸·Î½á ÇØ´ç Ãë¾àÁ¡À» Á¦°ÅÇÒ ¼ö ÀÖÀ¸¸ç, ¿î¿µÃ¼Á¦º°·Î ÇØ´çÇÏ´Â ÆÐÄ¡¸¦ ´Ù¿î¹Þ¾Æ ¼³Ä¡ÇÏ¸é µÈ´Ù.
ÇÑ±Û ¾÷µ¥ÀÌÆ® Á¤º¸
http://www.microsoft.com/korea/technet/security/Bulletin/MS06-012.mspx
¿µ¹® ¾÷µ¥ÀÌÆ® Á¤º¸
http://www.microsoft.com/technet/security/Bulletin/MS06-012.mspx