Hello,

I thought I'd better improve the XSS patch for ilohamail now,
before we have to celebrate birthdays for that bug..

// Ulf

--- source/read_message.php.old 2004-04-08 23:16:37.000000000 +0200
+++ source/read_message.php     2005-04-13 20:55:40.610910256 +0200
@@ -275,9 +275,9 @@
                        echo "<a href=\"".$href."\" 
".(($type==1)||($type==2)||(($type==3)&&(strcasecmp($subtype, 
"ms-tnef")==0))?"":"target=_blank").">";
                        echo "<img 
src=\"themes/".$my_prefs["theme"]."/images/".$icons_a[$type]."\" border=0><br>";
                        echo "<span class=\"small\">";
-                       if (is_string($name)) echo LangDecodeSubject($name, 
$my_charset);
+                       if (is_string($name)) echo 
htmlspecialchars(LangDecodeSubject($name, $my_charset));
                        if ($bytes>0) echo "<br>[".ShowBytes($bytes)."]";
-                       if (is_string($typestring)) echo "<br>".$typestring;
+                       if (is_string($typestring)) echo 
"<br>".htmlspecialchars($typestring);
                        echo "</span>";
                        echo "</a>";
                        echo "</td>\n";
--- include/read_message_print.inc.old  2004-11-30 07:28:23.000000000 +0100
+++ include/read_message_print.inc      2005-04-13 21:10:06.804228856 +0200
@@ -97,9 +97,9 @@
                                /* dump! */
                                        echo "<p>";
                                        if (strcasecmp($subtype, "html")==0){
-                                               if 
(!$my_prefs["html_in_frame"]){
-                                                       $body=strip_tags($body, 
'<a><b><i><u><p><br><font><div>');
-                                               }
+                                               # if 
(!$my_prefs["html_in_frame"]){
+                                               $body=strip_tags($body, 
'<a><b><i><u><p><br><font><div>');
+                                               # }
                                                $body = 
eregi_replace("src=\"cid:", 
"src=\"view.php?user=$user&folder=$folder&id=$id&cid=", $body);
                                                echo $body;
                                        }else{
--- source/view.php.old 2003-12-30 10:12:56.000000000 +0100
+++ source/view.php     2006-03-19 12:50:33.000000000 +0100
@@ -234,6 +234,7 @@
                                                $body = 
ereg_replace("[^a-zA-Z0-9\/\+]", "", $body);
                                                $body = base64_decode($body);
                                                $body = 
eregi_replace("src=\"cid:", "src=\"".$img_url, $body);
+                                               $body=strip_tags($body, 
'<a><b><i><u><p><br><font><div>');
                                                echo $body;
                                        }else{
                                                
iil_C_PrintBase64Body($view_conn, $folder, $id, $part);
@@ -251,12 +252,14 @@
                                        if ($is_html){
                                                $body = 
eregi_replace("src=\"cid:", "src=\"".$img_url, $body);
                                        }
+                                       $body=strip_tags($body, 
'<a><b><i><u><p><br><font><div>');
                                        echo $body;
                                }else{
                                        // otherwise, just dump it out
                                        if ($is_html){
                                                $body = 
iil_C_FetchPartBody($view_conn, $folder, $id, $part);
                                                $body = 
eregi_replace("src=\"cid:", "src=\"".$img_url, $body);
+                                               $body=strip_tags($body, 
'<a><b><i><u><p><br><font><div>');
                                                echo $body;
                                        }else{
                                                iil_C_PrintPartBody($view_conn, 
$folder, $id, $part);

Reply via email to