CVE:CVE-2006-2550
CNNVD:CNNVD-200605-440
Perlpodder是用PERL编写的podcatcher脚本，用于自动下载多媒体文件的索引。
Perlpodder实现上存在输入验证漏洞，远程攻击者可能利用此漏洞诱使用户在客户机器上执行任意命令。
当使用perlpodder获取文件索引的时候，perlpodder会从服务器所提供的XML文件获取媒体文件的URL。该URL保存到了$dlset变量中。有两种情况会同system()命令使用这个变量：
第一种用途是同echo记录URL(278行)：
[...]
277     # add urls to log file to mark as retrieved
278     $addurl = "echo " . $dlset . " >> $log_path ";
279     system $addurl;
[...]
第二种用途是用wget获取媒体文件(294行)：
[...]
291     # Prepair to call wget
292
293     $wget_path = "$cwd". "$datadir" ;
294     $wget_cmd = "wget --quiet --background -o /dev/null -c --tries=2 
                     --timeout=20 --random-wait " . $dlset . " -P ". 
$wget_path ;
295
296     if ($DEBUG > 0) {
297
298       print "running " . $wget_cmd . "\n" ;
299
300     }
301
302     system $wget_cmd;
[...]
但没有正确的过滤$dlset，因此远程服务器可以在URL中包含任意Shell命令，然后使脚本调用system()执行。
solution:Upgrade perlpodder perlpodder to a higher version than 0.4,0.2,0.3,and avoid the version (,0.4],0.2,0.3