From: Michael Tremer Date: Wed, 30 Oct 2019 10:59:00 +0000 (+0000) Subject: mail.cgi: Do not print content of input fields X-Git-Tag: v2.23-core139~3^2~92 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=095bf494074994c5a2cd867f3b00603de95ed207;p=ipfire-2.x.git mail.cgi: Do not print content of input fields This was printed unescaped and could therefore be used for a stored XSS attack. Fixes: #12226 Reported-by: Pisher Honda Signed-off-by: Michael Tremer Signed-off-by: Arne Fitzenreiter --- diff --git a/html/cgi-bin/mail.cgi b/html/cgi-bin/mail.cgi index 07986a4d65..25589046e6 100755 --- a/html/cgi-bin/mail.cgi +++ b/html/cgi-bin/mail.cgi @@ -260,21 +260,21 @@ sub checkmailsettings { #Check if mailserver is an ip address or a domain if ($cgiparams{'txt_mailserver'} =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/){ if (! &General::validip($cgiparams{'txt_mailserver'})){ - $errormessage.="$Lang::tr{'email invalid mailip'} $cgiparams{'txt_mailserver'}
"; + $errormessage .= $Lang::tr{'email invalid mailip'} . "
"; } }elsif(! &General::validfqdn($cgiparams{'txt_mailserver'})){ - $errormessage.="$Lang::tr{'email invalid mailfqdn'} $cgiparams{'txt_mailserver'}
"; + $errormessage .= $Lang::tr{'email invalid mailfqdn'} . "
"; } #Check valid mailserverport if($cgiparams{'txt_mailport'} < 1 || $cgiparams{'txt_mailport'} > 65535){ - $errormessage.="$Lang::tr{'email invalid mailport'} $cgiparams{'txt_mailport'}
"; + $errormessage .= $Lang::tr{'email invalid mailport'} . "
"; } #Check valid sender if(! $cgiparams{'txt_mailsender'}){ - $errormessage.="$Lang::tr{'email empty field'} $Lang::tr{'email mailsender'}
"; + $errormessage .= $Lang::tr{'email empty field'} . "
"; }else{ if (! &General::validemail($cgiparams{'txt_mailsender'})){ - $errormessage.="
$Lang::tr{'email invalid'} $Lang::tr{'email mailsender'}
"; + $errormessage .= "$Lang::tr{'email invalid'} $Lang::tr{'email mailsender'}
"; } } return $errormessage;