English
¢¸¢· µÚ·Î
Ãë¾àÁ¡ID 16050
À§Çèµµ 40
Æ÷Æ® 21
ÇÁ·ÎÅäÄÝ TCP
ºÐ·ù FTP
»ó¼¼¼³¸í ÇØ´ç BFTD µ¥¸óÀº ±ä USER ¸í·ÉÀ» ÅëÇÑ ¼­ºñ½º °ÅºÎ °ø°Ý¿¡ Ãë¾àÇÏ´Ù.
ÀÌ Áß BFTPD 1.0.11 ¹öÀü¿¡´Â bftpd-1.0.11/commands.c ÆÄÀÏ¿¡ ÀÖ´Â command_user() ÇÔ¼ö »ó¿¡¼­ ¿Ã¹Ù¸¥ ¹öÆÛ °æ°è üũ(boundary checking)°¡ ÀÌ·ç¾îÁöÁö ¾Ê´Â ¹ö±×°¡ Á¸ÀçÇϰí ÀÌ·Î ÀÎÇÏ¿© ¹öÆÛ ¿À¹öÇ÷οì(buffer overflow)°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. ÀÌ ¹öÆÛ ¿À¹öÇ÷οì Ãë¾àÁ¡Àº ´ÙÀ½°ú °°ÀÌ USER ¸í·É¾î ´ÙÀ½¿¡ 35 ÀÌ»óÀÇ ¹®ÀÚ·Î ±¸¼ºµÈ ¹®ÀÚ¿­À» µ¡ºÙ¿© ¼­¹ö¿¡ Àü´ÞÇÒ ¶§ ¹ß»ýÇÑ´Ù.

USER AAAA¡¦['A'*35]...AAAAA

ÀÌ¿Í °°Àº ÇàÀ§´Â ¼¼±×¸àÅ×ÀÌ¼Ç ÆúÆ®(segmentation fault) À¯¹ß½Ã۰í BFTPD µ¥¸óÀ» Å©·¡½¬(crash)½Ãų ¼ö ÀÖ´Ù. BFTPD µ¥¸óÀº ±ÇÇÑ »ó½Â(elevation of privileges)¸¦ ¹æÁöÇϱâ À§ÇØ, ½© ÄÚµå(shell code)¿Í °°Àº ÇÁ¸°Æ® ºÒ°¡´ÉÇÑ ¹®ÀÚµéÀ» ÇÊÅ͸µÇϵµ·Ï ±¸ÇöµÇ¾î Àֱ⠶§¹®¿¡ ¿ø°ÝÁö °ø°ÝÀÚµéÀÌ ÀÌ Ãë¾àÁ¡À» ÀÌ¿ëÇØ ¼­¹ö »ó¿¡¼­ ÀÓÀÇÀÇ ¸í·ÉÀ» ¼öÇàÇϱâ´Â ½±Áö ¾Ê´Ù. ÇÏÁö¸¸, ÀÌ¿Í °°ÀÌ À¯È¿ÇÏÁö ¾ÊÀº ÀÔ·ÂÀ» ÅëÇØ¼­ ¼¼¼Ç ÀÚü¸¦ Å©·¡½¬(crash) ½Ãų ¼ö´Â ÀÖ´Ù.

* Âü°í »çÀÌÆ®:
http://online.securityfocus.com/bid/1858
http://www.iss.net/security_center/static/5426.php

* ¿µÇâ ¹Þ´Â Ç÷§Æûµé:
BFTPD 1.0.11 version
ÇØ°áÃ¥ http://bftpd.sourceforge.net/ ¸¦ ÂüÁ¶ÇÏ¿© BFTPD 1.0.12 ¹öÀüÀ̳ª °¡Àå ÃֽйöÀüÀ¸·Î ¾÷±×·¹À̵å ÇØ¾ß ÇÑ´Ù.

Àӽà Á¶Ä¡¹æ¹ýÀ¸·Î, bftpd-1.0.11/commands.c ÆÄÀÏ¿¡¼­ 109 ÁÙÀ» ´ÙÀ½°ú °°ÀÌ º¯°æÇÑ ÈÄ Àç ÄÄÆÄÀÏÇÏ¿© ¼³Ä¡ÇÑ´Ù.
alias = (char *) config_getoption(strcat(name, username));
=> alias = (char *) config_getoption(strncat(name, username, USERLEN));
°ü·Ã URL CVE-2000-0943 (CVE)
°ü·Ã URL (SecurityFocus)
°ü·Ã URL (ISS)