[Pkg-sympa-commits] [SCM] sympa Debian packaging branch, debian/squeeze, updated. debian/6.0.1+dfsg-4-2-g4aaa0bf

Emmanuel Bouthenot kolter at openics.org
Sun May 20 14:07:28 UTC 2012


The following commit has been merged in the debian/squeeze branch:
commit c6b77bd7af28f14a02ac267bc761add43227f06d
Author: Emmanuel Bouthenot <kolter at openics.org>
Date:   Sun May 20 14:06:25 2012 +0000

    Fix CVE-2012-2352: Possibility to bypass the authorization mechanisms in the archive management page of wwsympa (#672893)

diff --git a/debian/patches/2006_fix_CVE-2012-2352.patch b/debian/patches/2006_fix_CVE-2012-2352.patch
new file mode 100644
index 0000000..cc666af
--- /dev/null
+++ b/debian/patches/2006_fix_CVE-2012-2352.patch
@@ -0,0 +1,68 @@
+Description: Fix possibility to bypass the authorization mechanisms in the
+ archive management page of wwsympa
+Author: Emmanuel Bouthenot <kolter at debian.org>
+Forwarded: not-needed
+Bug-Debian: http://bugs.debian.org/672893
+Last-Update: 2012-05-19
+--- a/wwsympa/wwsympa.fcgi.in
++++ b/wwsympa/wwsympa.fcgi.in
+@@ -557,7 +557,9 @@
+ ## Defines the required privileges to access privileged actions
+ ## You can define a set ofequiivalent privileges in the ARRAYREF
+ my %required_privileges = ('admin' => ['owner','editor'],
++			   'arc_delete' => ['owner'],
+ 			   'arc_download' => ['owner'],
++			   'arc_manage' => ['owner'],
+ 			   'blacklist' => ['owner','editor'],
+ 			   'close_list' => ['privileged_owner'],
+ 			   'close_list_request' => ['privileged_owner'],
+@@ -2205,6 +2207,7 @@
+ 	  &wwslog('info',"missing parameter '$arg_name'");
+ 	  &web_db_log({'status' => 'error',
+ 		       'error_type' => 'missing_parameter'});
++	  delete $param->{'list'};
+ 	  return undef;
+ 	}
+       }
+@@ -2226,6 +2229,7 @@
+       &wwslog('info','authorization failed, insufficient privileges');
+       &web_db_log({'status' => 'error',
+ 		   'error_type' => 'authorization'});		      
++      delete $param->{'list'};
+       return undef;
+     }
+   }
+@@ -15956,6 +15960,9 @@
+ sub do_arc_manage {
+     &wwslog('info', "do_arc_manage ($in{'list'})");
+ 
++    ## Access control
++    return undef unless (defined &check_authz('do_arc', 'web_archive.access'));
++
+     my $search_base = $wwsconf->{'arc_path'}.'/'.$list->get_list_id();
+     opendir ARC, "$search_base";
+     foreach my $dir (sort {$b cmp $a} grep(!/^\./,readdir ARC)) {
+@@ -15972,7 +15979,10 @@
+ sub do_arc_download {
+     
+     &wwslog('info', "do_arc_download ($in{'list'})");
+-    
++
++    ## Access control
++    return undef unless (defined &check_authz('do_arc', 'web_archive.access'));
++
+     ##zip file name:listname_archives.zip  
+     my $zip_file_name = $in{'list'}.'_archives.zip';
+     my $zip_abs_file = $Conf{'tmpdir'}.'/'.$zip_file_name;
+@@ -16072,7 +16082,10 @@
+     my @abs_dirs;
+     
+     &wwslog('info', "do_arc_delete ($in{'list'})");
+-    
++
++    ## Access control
++    return undef unless (defined &check_authz('do_arc', 'web_archive.access'));
++
+     unless (defined  $in{'directories'}){
+       	&report::reject_report_web('user','select_month',{},$param->{'action'});
+ 	&wwslog('info','No Archives months selected');
diff --git a/debian/patches/series b/debian/patches/series
index 745da08..a314a50 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -12,3 +12,4 @@
 2004_pg_create_db.patch
 1010_sqlite_upgrade.patch
 2005_disable_build_non_dfsg_po_files.patch
+2006_fix_CVE-2012-2352.patch

-- 
sympa Debian packaging



More information about the Pkg-sympa-commits mailing list