FYI, I have checked the code and filed 2 more bugs (the rest being false
positives, I think).

#496518 : Insecure use of /tmp in sympa_wizard may lead to system damage
#496520 : Insecure use of /tmp in sympa scripts

The first one is the most serious. The second one is minor.

Thanks for spotting this.

Best regards,

Le lundi 25 août 2008 à 11:59 +0200, Olivier Berger a écrit :
> Le jeudi 21 août 2008 à 16:14 +0200, Thijs Kinkhorst a écrit :
> 
> > When grepping the sympa source for "/tmp" I find quite some occurances
> > of
> > other files directly in tmp with insecure filenames. It should be
> > checked
> > for each if that code is executed and whether or not they should be
> > moved
> > to Sympa's private tempdir.
> > 
> 
> Indeed, grepping through contents of binary package gives quite some
> occurrences :
> 
> ./usr/share/doc/sympa/examples/config/sympa.conf:tmpdir /var/spool/sympa/tmp
> ./usr/lib/sympa/bin/Log.pm:    #open TMP, ">/tmp/logs.dump";
> ./usr/lib/sympa/bin/tt2.pl:     open my $fh, ">/tmp/tt2/$newname";
> ./usr/lib/sympa/bin/tools.pl:    ## first step is the msg signing OK ; 
> /tmp/sympa-smime.$$ is created
> ./usr/lib/sympa/bin/tools.pl:    my $temporary_file = "/tmp/smime-sender.".$$ 
> ;
> ./usr/lib/sympa/bin/List.pm:#   $parser->output_dir($Conf{'spool'} ."/tmp");  
>   
> ./usr/lib/sympa/bin/List.pm:#    open TMP2, ">/tmp/digdump"; 
> &tools::dump_var($param, 0, \*TMP2); close TMP2;
> ./usr/lib/sympa/bin/List.pm:#    open TMP2, ">/tmp/digdump"; 
> &tools::dump_var($param, 0, \*TMP2); close TMP2;
> ./usr/lib/sympa/bin/sympasoap.pm:#    open TMP2, ">>/tmp/yy"; printf TMP2 
> "xxxxxxxxxx  parameters \n"; &tools::dump_var($proxy_vs, 0, \*TMP2);printf 
> TMP2 "--------\n"; close TMP2;
> ./usr/lib/sympa/bin/CAS.pm:  $cas->proxyMode(pgtFile => '/tmp/pgt.txt',
> ./usr/lib/sympa/bin/sympa_wizard.pl:my $new_wwsympa_conf = 
> '/tmp/wwsympa.conf';
> ./usr/lib/sympa/bin/sympa_wizard.pl:my $new_sympa_conf = '/tmp/sympa.conf';
> ./usr/lib/sympa/bin/Conf.pm:    $o{'tmpdir'}[0] = "$spool/tmp";
> ./usr/lib/sympa/bin/Conf.pm:    # open TMP, 
> ">/tmp/dump1";&tools::dump_var(&load_generic_conf_file($config,\%trusted_applications);,
>  0,\*TMP);close TMP;
> ./usr/lib/sympa/bin/Conf.pm:#open TMP2, ">>/tmp/sss"; printf TMP2 
> "xxxxxxxxxxxxxxxxxxx--------structure admin\n"; &tools::dump_var(\%admin, 0, 
> \*TMP2);printf TMP2 "xxxxxxxxxxxxxxxxxxx--------\n"; close TMP2;
> ./usr/lib/sympa/bin/sympa_soap_client.pl:#                                   
> file => '/tmp/my_cookies' );
> ./usr/lib/sympa/bin/sympa_soap_client.pl:                                    
> file => '/tmp/my_cookies' );
> ./usr/lib/sympa/bin/Family.pm: #   open TMP, ">/tmp/dump1";
> ./usr/lib/sympa/bin/Auth.pm:    # open TMP2, ">>/tmp/yy"; printf TMP2 
> "xxxxxxxxxxx\@ trusted_apps \n"; &tools::dump_var([EMAIL PROTECTED], 0, 
> \*TMP2);printf TMP2 "--------\n"; close TMP2;
> ./usr/lib/sympa/bin/sympa.pl:   --make_alias_file                     : 
> create file in /tmp with all aliases (usefull when aliases.tpl is changed)
> ./usr/lib/cgi-bin/sympa/wwsympa.fcgi: #    open TMP, ">/tmp/dump1";
> ./usr/lib/cgi-bin/sympa/wwsympa.fcgi: #    open TMP, ">/tmp/dump2";
> ./usr/lib/cgi-bin/sympa/wwsympa.fcgi:     #open TMP, ">/tmp/dump1";
> ./usr/bin/sympa:   --make_alias_file                     : create file in 
> /tmp with all aliases (usefull when aliases.tpl is changed)
> ./usr/bin/sympa_wizard:my $new_wwsympa_conf = '/tmp/wwsympa.conf';
> ./usr/bin/sympa_wizard:my $new_sympa_conf = '/tmp/sympa.conf';
> 
> I think that even though the first ones reported on 
> /usr/lib/cgi-bin/sympa/wwsympa.fcgi and /usr/lib/sympa/bin/sympa.pl are now 
> fixed by uploaded 5.3.4-5.1, there's some more need for analysis (checking 
> with upstream too).
> 
> I think that opening a distinct bug would probably be better too.
> 
> Hope this helps.
> 
-- 
Olivier BERGER <[EMAIL PROTECTED]>
http://www-public.it-sudparis.eu/~berger_o/ - OpenPGP-Id: 1024D/6B829EEC
Ingénieur Recherche - Dept INF
Institut TELECOM, SudParis (http://www.it-sudparis.eu/), Evry (France)




--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to