Hello community, here is the log from the commit of package FastCGI for openSUSE:Factory checked in at 2011-12-25 17:34:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/FastCGI (Old) and /work/SRC/openSUSE:Factory/.FastCGI.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "FastCGI", Maintainer is "[email protected]" Changes: -------- --- /work/SRC/openSUSE:Factory/FastCGI/FastCGI.changes 2011-10-16 12:43:01.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.FastCGI.new/FastCGI.changes 2011-12-25 17:34:02.000000000 +0100 @@ -1,0 +2,7 @@ +Wed Dec 21 16:14:12 UTC 2011 - [email protected] + +- added FastCGI-fix_deprecated_api.patch: (bnc#735882) + Fixes an issue where CGI.pm received CGI variables from previous + requests. CVE-2011-2766 + +------------------------------------------------------------------- New: ---- FastCGI-fix_deprecated_api.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ FastCGI.spec ++++++ --- /var/tmp/diff_new_pack.E3atVg/_old 2011-12-25 17:34:03.000000000 +0100 +++ /var/tmp/diff_new_pack.E3atVg/_new 2011-12-25 17:34:03.000000000 +0100 @@ -37,6 +37,7 @@ Patch3: fastcgi-2.4.0_missing_call_to_fclose.patch Patch4: FastCGI-gcc44.patch Patch5: FastCGI-perl514.patch +Patch6: FastCGI-fix_deprecated_api.patch # Summary: A Scalable, Open Extension to CGI @@ -82,6 +83,7 @@ %patch3 %patch4 %patch5 +%patch6 touch NEWS AUTHORS ChangeLog COPYING find doc/{fastcgi-prog-guide,fastcgi-whitepaper} -type f -print0 | xargs -r0 chmod 0644 ++++++ FastCGI-fix_deprecated_api.patch ++++++ From: Florian Ragwitz <[email protected]> Date: Sat, 24 Sep 2011 07:54:33 +0000 (+0200) Subject: Stop leaking information across requests X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2Ffcgi2.git;a=commitdiff_plain;h=297693dc8362d25bb25e473899c72508a0f71d2e Stop leaking information across requests %hash is false if the hash hasn't been assigned to, *or* if the hash is simply empty. This causes the environment from the *second* request (that is, the environment produced by the first request) to be saved as default if the first request had empty environment. This way, request after the first can get access to credentials set up by the first request. Instead of fixing this, I'd much rather remove this old and buggy interface. However, 10 years of deprecation don't seem to have been enough for CGI::Fast to switch to the new and properly supported interface. :-( This is CVE-2011-2766. --- Index: perl/FCGI.PL =================================================================== --- perl/FCGI.PL.orig 2002-12-15 21:02:48.000000000 +0100 +++ perl/FCGI.PL 2011-12-12 11:24:08.885998082 +0100 @@ -291,14 +291,14 @@ sub Request(;***$*$) { sub accept() { warn "accept called as a method; you probably wanted to call Accept" if @_; - if (defined %FCGI::ENV) { - %ENV = %FCGI::ENV; + if ( defined($FCGI::ENV) ) { + %ENV = %$FCGI::ENV; } else { - %FCGI::ENV = %ENV; + $FCGI::ENV = {%ENV}; } my $rc = Accept($global_request); - for (keys %FCGI::ENV) { - $ENV{$_} = $FCGI::ENV{$_} unless exists $ENV{$_}; + for (keys %$FCGI::ENV) { + $ENV{$_} = $FCGI::ENV->{$_} unless exists $ENV{$_}; } # not SFIO @@ -310,7 +310,7 @@ sub accept() { sub finish() { warn "finish called as a method; you probably wanted to call Finish" if @_; - %ENV = %FCGI::ENV if (defined %FCGI::ENV); + %ENV = %$FCGI::ENV if defined($FCGI::ENV); # not SFIO if (tied (*STDIN)) { -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
