[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[SCM] Debian package checker branch, master, updated. 2.3.1-26-g7928943



The following commit has been merged in the master branch:
commit 4f8ddbd591f27e4690ab63e47f1e664249328b88
Author: Raphael Geissert <atomo64@gmail.com>
Date:   Wed Jan 20 02:26:29 2010 -0600

    Fix CVE-2009-4014, format string vulnerabilities
    
    Multiple check scripts and the Lintian::Schedule module were using
    user-provided input as part of the sprintf/printf format string.

diff --git a/checks/control-files b/checks/control-files
index 33e0ad6..5a42c77 100644
--- a/checks/control-files
+++ b/checks/control-files
@@ -98,7 +98,7 @@ while (<IN>) {
     # correct permissions?
     unless ($operm == $ctrl{$file}) {
 	tag "control-file-has-bad-permissions",
-	    sprintf("$file %04o != %04o",$operm,$ctrl{$file});
+	    sprintf("%s %04o != %04o",$file,$operm,$ctrl{$file});
     }
 
     # correct owner?
diff --git a/checks/files b/checks/files
index c9bc7a8..70b2cb8 100644
--- a/checks/files
+++ b/checks/files
@@ -230,12 +230,12 @@ foreach my $file (sort keys %{$info->index}) {
 	}
 	# ---------------- /etc/cron.d
 	elsif ($file =~ m,^etc/cron\.d/\S, and $operm != 0644) {
-	    tag "bad-permissions-for-etc-cron.d-script", sprintf("$file %04o != 0644",$operm);
+	    tag "bad-permissions-for-etc-cron.d-script", sprintf("%s %04o != 0644",$file,$operm);
 	}
 	# ---------------- /etc/emacs.*
 	elsif ($file =~ m,^etc/emacs.*/\S, and $index_info->{type} =~ m,^[-h],
 	       and $operm != 0644) {
-	    tag "bad-permissions-for-etc-emacs-script", sprintf("$file %04o != 0644",$operm);
+	    tag "bad-permissions-for-etc-emacs-script", sprintf("%s %04o != 0644",$file,$operm);
 	}
 	# ---------------- /etc/gconf/schemas
 	elsif ($file =~ m,^etc/gconf/schemas/\S,) {
@@ -247,7 +247,7 @@ foreach my $file (sort keys %{$info->index}) {
 	       and $operm != 0755
 	       and $index_info->{type} =~ m,^[-h],) {
 	    tag "non-standard-file-permissions-for-etc-init.d-script",
-		sprintf("$file %04o != 0755",$operm);
+		sprintf("%s %04o != 0755",$file,$operm);
 	}
 	#----------------- /etc/ld.so.conf.d
 	elsif ($file =~ m,^etc/ld\.so\.conf\.d/(.+)$, and $pkg !~ /^libc/) {
@@ -849,11 +849,11 @@ foreach my $file (sort keys %{$info->index}) {
 
 	    # Check for setuid and setgid that isn't expected.
 	    if ($setuid and $setgid) {
-		tag "setuid-gid-binary", $file, sprintf("%04o $owner",$operm);
+		tag "setuid-gid-binary", $file, sprintf("%04o %s",$operm,$owner);
 	    } elsif ($setuid) {
-		tag "setuid-binary", $file, sprintf("%04o $owner",$operm);
+		tag "setuid-binary", $file, sprintf("%04o %s",$operm,$owner);
 	    } elsif ($setgid) {
-		tag "setgid-binary", $file, sprintf("%04o $owner",$operm);
+		tag "setgid-binary", $file, sprintf("%04o %s",$operm,$owner);
 	    }
 
 	    # Check for permission problems other than the setuid status.
diff --git a/checks/menu-format b/checks/menu-format
index b8b26cb..bbb4bc8 100644
--- a/checks/menu-format
+++ b/checks/menu-format
@@ -406,7 +406,7 @@ foreach my $file (sort keys %{$info->index}) {
 	$file =~ m,usr/share/applications/.*\.desktop$,) {
 
 	if ($operm & 0100 or $operm & 010 or $operm & 01) {
-           tag "executable-desktop-file", sprintf("/$file %04o",$operm);
+           tag "executable-desktop-file", sprintf("/%s %04o",$file,$operm);
 	}
         unless ($file =~ m,template,) {
             push (@desktop_files, $file);
diff --git a/checks/menus b/checks/menus
index 7fc81f9..02bad35 100644
--- a/checks/menus
+++ b/checks/menus
@@ -100,7 +100,7 @@ for my $file (sort keys %{$info->index}) {
 	# menu file?
 	if ($file =~ m,^usr/(lib|share)/menu/\S,o) { # correct permissions?
 	    if ($operm & 01 or $operm & 010 or $operm & 0100) {
-		tag "executable-menu-file", sprintf("$file %04o",$operm);
+		tag "executable-menu-file", sprintf("%s %04o",$file,$operm);
 	    }
 
 	    next if $file =~ m,^usr/(lib|share)/menu/README$,;
diff --git a/lib/Lintian/Schedule.pm b/lib/Lintian/Schedule.pm
index 55244a6..39fa7bd 100644
--- a/lib/Lintian/Schedule.pm
+++ b/lib/Lintian/Schedule.pm
@@ -65,8 +65,9 @@ sub add_file {
 
     if ( $self->{unique}{$s}++ ) {
 	if ($self->{opts}{verbose}) {
-	    printf "N: Ignoring duplicate %s package $pkg (version $ver)\n",
-		$type eq 'b' ? 'binary' : ($type eq 's' ? 'source': 'udeb');
+	    printf "N: Ignoring duplicate %s package %s (version %s)\n",
+		$type eq 'b' ? 'binary' : ($type eq 's' ? 'source': 'udeb'),
+		$pkg, $ver;
 	}
 	return 1;
     }

-- 
Debian package checker


Reply to: