]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 419188: [SECURITY] email_in.pl lets you set the changer as @reporter instead...
authorlpsolit%gmail.com <>
Mon, 5 May 2008 04:55:06 +0000 (04:55 +0000)
committerlpsolit%gmail.com <>
Mon, 5 May 2008 04:55:06 +0000 (04:55 +0000)
email_in.pl

index 864bdee7f20d46604939778144c315b0368319d3..81637ebc4975b5f243ca4abeed955455f54a3ff6 100644 (file)
@@ -106,6 +106,16 @@ sub parse_mail {
             
             if ($line =~ /^@(\S+)\s*=\s*(.*)\s*/) {
                 $current_field = lc($1);
+                # It's illegal to pass the reporter field as you could
+                # override the "From:" field of the message and bypass
+                # authentication checks, such as PGP.
+                if ($current_field eq 'reporter') {
+                    # We reset the $current_field variable to something
+                    # post_bug and process_bug will ignore, in case the
+                    # attacker splits the reporter field on several lines.
+                    $current_field = 'illegal_field';
+                    next;
+                }
                 $fields{$current_field} = $2;
             }
             else {