|
|
||
|
|
SIG^2 Vulnerability Research Advisory Buffer overflow in SapporoWorks BlackJumboDog FTP serverby Tan Chew KeongRelease Date: 29 July 2004 Japanese Version
Summary USER xxxxxxxxxxxx The command parameter "xxxxxxxxxxxx" will be copied to a 256 bytes buffer using strcpy(). Hence, by crafting an FTP command with an overly long parameter, a remote attacker could trigger a stack overflow and execute arbitrary code. The attacker do not need to have a valid account on the FTP server since the overflow can be triggered prior to authentication using the USER command. The following Ollydbg screen capture shows that the EIP was overwritten when an overly long directory-name was supplied with the "cd" (CWD) command.
In this code, SocketBuf holds the received FTP command (USER, PASS, CWD, etc), together with its parameter. Param is a char buffer of only 256 bytes, whereas SocketBuf can hold up to 30000 bytes. An unsafe strcpy() results in an overflow when the command parameter copied from SocketBuf is more than 256 bytes. Proof-of-concept bindshell exploit code can be downloaded here. This following fix to the source code prevents the overflow from occuring if the command parameter is too long.
Author has fixed the bug in version 3.6.2. Users are advised to upgrade to the fixed version. Contacts For further questions and enquries, email them to the following. Overall-in-charge: Tan Chew Keong
|
|||