#19-03 [hack,SECURITY]wget DoS exploit PoC
wget <= 1.10.2 (Unchecked Boundary Condition) Denial of Service ExploitPoCにも書いてあるようにftp-basic.c:ftp_syst()でstrcasecmp()に渡すポインタのチェックしてないので、 チェックするように修正すればOK。
--- wget-1.10.2/src/ftp-basic.c.orig 2006-12-19 11:41:03.000000000 +0900
+++ wget-1.10.2/src/ftp-basic.c 2006-12-19 14:51:17.000000000 +0900
@@ -1038,6 +1038,10 @@
/* Which system type has been reported (we are interested just in the
first word of the server response)? */
request = strtok (NULL, " ");
+ if (!request) {
+ xfree (respline);
+ return FTPSRVERR;
+ }
if (!strcasecmp (request, "VMS"))
*server_type = ST_VMS;
まあstrtok()したときの返値は常にチェックしないとな。