Your message dated Mon, 12 Nov 2007 05:25:27 +0000
with message-id <[EMAIL PROTECTED]>
and subject line Bug#450456: fixed in perl 5.8.8-12
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: perl
Version: 5.8.8-11.1
Severity: grave
Tags: security
Justification: user security hole

Hi

There has been a DSA for perl.

Will Drewry and Tavis Ormandy of the Google Security Team have
discovered a UTF-8 related heap overflow in Perl's regular expression
compiler, probably allowing attackers to execute arbitrary code by
compiling specially crafted regular expressions.

The patch used for this update is below. The CVE number is
CVE-2007-5116. Please mention it in your changelog, when you fix this
bug.

Thanks for your efforts.
Cheers
Steffen

--- perl-5.8.8.orig/regcomp.c
+++ perl-5.8.8/regcomp.c
@@ -136,6 +136,7 @@
     I32                seen_zerolen;
     I32                seen_evals;
     I32                utf8;
+    I32                orig_utf8;
 #if ADD_TO_REGEXEC
     char       *starttry;              /* -Dr: where regtry was called. */
 #define RExC_starttry  (pRExC_state->starttry)
@@ -161,6 +162,7 @@
 #define RExC_seen_zerolen      (pRExC_state->seen_zerolen)
 #define RExC_seen_evals        (pRExC_state->seen_evals)
 #define RExC_utf8      (pRExC_state->utf8)
+#define RExC_orig_utf8 (pRExC_state->orig_utf8)

 #define        ISMULT1(c)      ((c) == '*' || (c) == '+' || (c) == '?')
 #define        ISMULT2(s)      ((*s) == '*' || (*s) == '+' || (*s) == '?' || \
@@ -1750,6 +1752,7 @@
        FAIL("NULL regexp argument");

     RExC_utf8 = pm->op_pmdynflags & PMdf_CMP_UTF8;
+    RExC_orig_utf8 = RExC_utf8 = pm->op_pmdynflags & PMdf_CMP_UTF8;

     RExC_precomp = exp;
     DEBUG_r({
@@ -1758,6 +1761,8 @@
                       PL_colors[4],PL_colors[5],PL_colors[0],
                       (int)(xend - exp), RExC_precomp, PL_colors[1]);
     });
+redo_first_pass:
+    RExC_precomp = exp;
     RExC_flags = pm->op_pmflags;
     RExC_sawback = 0;

@@ -1783,6 +1788,17 @@
        RExC_precomp = Nullch;
        return(NULL);
     }
+    if (RExC_utf8 && !RExC_orig_utf8) {
+       STRLEN len = xend-exp;
+       DEBUG_r(PerlIO_printf(Perl_debug_log,
+          "UTF8 mismatch! Converting to utf8 for resizing and compile\n"));
+       exp = (char*)Perl_bytes_to_utf8(aTHX_ (U8*)exp, &len);
+       xend = exp + len;
+       RExC_orig_utf8 = RExC_utf8;
+       SAVEFREEPV(exp);
+       goto redo_first_pass;
+    }
+
     DEBUG_r(PerlIO_printf(Perl_debug_log, "size %"IVdf" ", (IV)RExC_size));

     /* Small enough for pointer-storage convention?



--- End Message ---
--- Begin Message ---
Source: perl
Source-Version: 5.8.8-12

We believe that the bug you reported is fixed in the latest version of
perl, which is due to be installed in the Debian FTP archive:

libcgi-fast-perl_5.8.8-12_all.deb
  to pool/main/p/perl/libcgi-fast-perl_5.8.8-12_all.deb
libperl-dev_5.8.8-12_sparc.deb
  to pool/main/p/perl/libperl-dev_5.8.8-12_sparc.deb
libperl5.8_5.8.8-12_sparc.deb
  to pool/main/p/perl/libperl5.8_5.8.8-12_sparc.deb
perl-base_5.8.8-12_sparc.deb
  to pool/main/p/perl/perl-base_5.8.8-12_sparc.deb
perl-debug_5.8.8-12_sparc.deb
  to pool/main/p/perl/perl-debug_5.8.8-12_sparc.deb
perl-doc_5.8.8-12_all.deb
  to pool/main/p/perl/perl-doc_5.8.8-12_all.deb
perl-modules_5.8.8-12_all.deb
  to pool/main/p/perl/perl-modules_5.8.8-12_all.deb
perl-suid_5.8.8-12_sparc.deb
  to pool/main/p/perl/perl-suid_5.8.8-12_sparc.deb
perl_5.8.8-12.diff.gz
  to pool/main/p/perl/perl_5.8.8-12.diff.gz
perl_5.8.8-12.dsc
  to pool/main/p/perl/perl_5.8.8-12.dsc
perl_5.8.8-12_sparc.deb
  to pool/main/p/perl/perl_5.8.8-12_sparc.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Brendan O'Dea <[EMAIL PROTECTED]> (supplier of updated perl package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Thu, 08 Nov 2007 08:42:01 +1100
Source: perl
Binary: perl-base libcgi-fast-perl libperl-dev perl-debug perl-modules perl 
libperl5.8 perl-suid perl-doc
Architecture: source sparc all
Version: 5.8.8-12
Distribution: unstable
Urgency: high
Maintainer: Brendan O'Dea <[EMAIL PROTECTED]>
Changed-By: Brendan O'Dea <[EMAIL PROTECTED]>
Description: 
 libcgi-fast-perl - CGI::Fast Perl module
 libperl-dev - Perl library: development files
 libperl5.8 - Shared Perl library
 perl       - Larry Wall's Practical Extraction and Report Language
 perl-base  - The Pathologically Eclectic Rubbish Lister
 perl-debug - Debug-enabled Perl interpreter
 perl-doc   - Perl documentation
 perl-modules - Core Perl modules
 perl-suid  - Runs setuid Perl scripts
Closes: 448965 449549 450456
Changes: 
 perl (5.8.8-12) unstable; urgency=high
 .
   * SECURITY [CVE-2007-5116] (closes: #450456): Apply patch from
     Will Drewry and Tavis Ormandy of the Google Security Team to fix a
     UTF-8 related heap overflow in Perl's regular expression compiler,
     probably allowing attackers to execute arbitrary code by compiling
     specially crafted regular expressions.
 .
   * Support "nocheck" option in DEB_BUILD_OPTIONS (closes: #449549).
   * Suppress Configure test for ualarm() so that setitimer() emulation
     is used (closes: #448965).
Files: 
 3b64748f6100b9b24eb00304a35c13e5 731 perl standard perl_5.8.8-12.dsc
 b22ed2f3de336cd639f6f343b17bc466 104470 perl standard perl_5.8.8-12.diff.gz
 1b261a5cf2120403b5d27e106a9c57a1 41686 perl optional 
libcgi-fast-perl_5.8.8-12_all.deb
 b26cf5a4096ba7ac796a76221a759998 7357324 doc optional perl-doc_5.8.8-12_all.deb
 ebfaf592b223e30467dcd50723b2e597 2299850 perl standard 
perl-modules_5.8.8-12_all.deb
 d905e9b7a5c5d3408ecd58a13c66e287 806636 perl required 
perl-base_5.8.8-12_sparc.deb
 c87cae63f4f547a4b7d77d528dae698f 2768650 perl optional 
perl-debug_5.8.8-12_sparc.deb
 81f351ae36aa850d4f94f6bda68ec0ea 32836 perl optional 
perl-suid_5.8.8-12_sparc.deb
 3c3221d4a9fe277c55e6db88553f7d85 1010 libs optional 
libperl5.8_5.8.8-12_sparc.deb
 b91015bad889d527498eb361f10cec90 593838 libdevel optional 
libperl-dev_5.8.8-12_sparc.deb
 f3facc937a6d8e12b5de6c91ad5ced93 3682020 perl standard perl_5.8.8-12_sparc.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (Darwin)

iD8DBQFHMrnF8NyOALKMWZURAkqyAJ974dlfDu/+7DV7hYtY/7KMQidFUQCeM/a7
SMdod/9vm4RG9qMrphXbdUI=
=NC9j
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to