Package: fuzzyocr
Version: 3.5.1+svn135-1.2
Severity: normal
Tags: patch
FuzzyOcr allows logging to file with the focr_logfile option like so:
focr_logfile /some/path/file
However, because nowadays spamassassin runs with Perl 'taint' mode enabled,
opening this file is not allowed:
warn: plugin: eval failed: Insecure dependency in open while running with -T
switch at /usr/share/perl5/FuzzyOcr/Logging.pm line 36.
Apparently also causing parsing errors:
info: config: failed to parse line, skipping, in
/etc/spamassassin/FuzzyOcr.cf:
focr_bin_helper pnmnorm, pnminvert, ppmtopgm
but ultimately causing the FuzzyOcr plugin not to run:
warn: rules: failed to run FUZZY_OCR test, skipping:
Unfortunately this has far-reaching consequences because now sa-compile will
fail to run to completion:
rules: failed to run FUZZY_OCR test, skipping:
(Insecure dependency in open while running with -T switch at
/usr/share/perl5/FuzzyOcr/Logging.pm line 36.)
sa-compile: not compiling; 'spamassassin --lint' check failed!
which can also cause the spamassassin daily cron job to exit with an error.
The attached patch works around this problem by explicitly 'untainting' the
FuzzyOcr logfile. Now the FuzzyOcr plugin will work again and sa-compile
will run to its completion.
There might be a security impact with this change, so you might want to talk
to the spamassassin maintainers about this.
Arjan
-- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.27.21 (PREEMPT)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages fuzzyocr depends on:
ii giflib-tools 4.1.6-9library for GIF images (utilities)
ii gifsicle 1.58-1 Tool for manipulating GIF images
ii gocr 0.46-2.1 A command line OCR
ii libdbd-mysql-perl 4.012-1+b1 A Perl5 database interface to the
ii libmldbm-sync-perl0.30-3 Perl module for safe concurrent ac
ii libstring-approx-perl 3.26-1 Perl extension for approximate mat
ii libtie-cache-perl 0.17-4 perl Tie::Cache - LRU Cache in Mem
ii netpbm2:10.0-12 Graphics conversion tools
ii ocrad 0.17-4 Optical Character Recognition prog
ii perl [libdigest-md5-perl] 5.10.1-9 Larry Wall's Practical Extraction
ii spamassassin 3.3.0-1Perl-based spam filter using text
ii tesseract-ocr-eng 2.00-1 tesseract-ocr language files for E
fuzzyocr recommends no packages.
fuzzyocr suggests no packages.
-- no debconf information
--- Logging.pm.ORIG 2010-02-03 10:54:38.0 +0100
+++ Logging.pm 2010-02-03 10:55:49.0 +0100
@@ -31,7 +31,8 @@ sub logfile {
my $time = strftime(%Y-%m-%d %H:%M:%S,localtime(time));
$logtext =~ s/\n/\n /g;
-unless ( open LOGFILE, , $conf-{focr_logfile} ) {
+my $fname =
Mail::SpamAssassin::Util::untaint_file_path($conf-{focr_logfile});
+unless ( open LOGFILE, , $fname ) {
warn Can't open $conf-{focr_logfile} for writing, check permissions;
return;
}