]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 966676: The 'sudo' cookie should not be accessible from JavaScript
authorFrédéric Buclin <LpSolit@gmail.com>
Fri, 14 Feb 2014 23:27:26 +0000 (00:27 +0100)
committerFrédéric Buclin <LpSolit@gmail.com>
Fri, 14 Feb 2014 23:27:26 +0000 (00:27 +0100)
r=dkl a=justdave

relogin.cgi

index e2effd1058bc9534ae6e944a0c3675eca8aa89f0..52944a81110a437af63236348cfbc9ea7aab1863 100755 (executable)
@@ -137,11 +137,18 @@ elsif ($action eq 'begin-sudo') {
 
     # For future sessions, store the unique ID of the target user
     my $token = Bugzilla::Token::_create_token($user->id, 'sudo', $target_user->id);
+
+    my %args;
+    if (Bugzilla->params->{ssl_redirect}) {
+        $args{'-secure'} = 1;
+    }
+
     $cgi->send_cookie('-name'    => 'sudo',
                       '-expires' => $time_string,
-                      '-value'   => $token
-    );
-    
+                      '-value'   => $token,
+                      '-httponly' => 1,
+                      %args);
+
     # For the present, change the values of Bugzilla::user & Bugzilla::sudoer
     Bugzilla->sudo_request($target_user, $user);