summaryrefslogtreecommitdiff
path: root/core/perl
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-10-31 01:35:35 -0700
committerroot <root@rshg054.dnsready.net>2012-10-31 01:35:35 -0700
commit5827948456201df72a1bd73e87977c569129fb27 (patch)
tree4842639ddc958690e68f74c496ea60844200450b /core/perl
parent455295fdb5009a8cd7b033a93e01f7450fd3087b (diff)
Wed Oct 31 01:34:59 PDT 2012
Diffstat (limited to 'core/perl')
-rw-r--r--core/perl/PKGBUILD11
-rw-r--r--core/perl/cve-2012-5195.patch29
2 files changed, 37 insertions, 3 deletions
diff --git a/core/perl/PKGBUILD b/core/perl/PKGBUILD
index f8fe56971..5052a5c65 100644
--- a/core/perl/PKGBUILD
+++ b/core/perl/PKGBUILD
@@ -1,11 +1,12 @@
-# $Id: PKGBUILD 165149 2012-08-11 20:00:01Z bluewind $
-# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# $Id: PKGBUILD 169818 2012-10-30 11:27:57Z bluewind $
+# Maintainer: Florian Pritz <bluewind@xinu.at>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
# Contributor: kevin <kevin.archlinux.org>
# Contributor: judd <jvinet.zeroflux.org>
# Contributor: francois <francois.archlinux.org>
pkgname=perl
pkgver=5.16.1
-pkgrel=1
+pkgrel=2
pkgdesc="A highly capable, feature-rich programming language"
arch=(i686 x86_64)
license=('GPL' 'PerlArtistic')
@@ -16,12 +17,14 @@ changelog=ChangeLog
source=(http://www.cpan.org/src/5.0/perl-${pkgver}.tar.bz2
perlbin.sh
perlbin.csh
+cve-2012-5195.patch
provides.pl)
install=perl.install
options=('makeflags' '!purge')
md5sums=('b87358e2c461a898cfd7c334e7dd8993'
'5ed2542fdb9a60682f215bd33701e61a'
'1f0cbbee783e8a6d32f01be5118e0d5e'
+ 'ba61b3b393b763b4f0b9e2f06757815a'
'999c3eea6464860704abbb055a0f0896')
# workaround to let the integrity check find the correct provides array
@@ -32,6 +35,8 @@ fi
build() {
cd ${srcdir}/${pkgname}-${pkgver}
+ patch -i "$srcdir/cve-2012-5195.patch" -p1
+
if [ "${CARCH}" = "x86_64" ]; then
# for x86_64
arch_opts="-Dcccdlflags='-fPIC'"
diff --git a/core/perl/cve-2012-5195.patch b/core/perl/cve-2012-5195.patch
new file mode 100644
index 000000000..a995194c6
--- /dev/null
+++ b/core/perl/cve-2012-5195.patch
@@ -0,0 +1,29 @@
+commit b11b0d3ef18a35595a07a06c91fa4f27c9cacf5b
+Author: Andy Dougherty <doughera@lafayette.edu>
+Date: Thu Sep 27 09:52:18 2012 -0400
+
+ avoid calling memset with a negative count
+
+ Poorly written perl code that allows an attacker to specify the count to
+ perl's 'x' string repeat operator can already cause a memory exhaustion
+ denial-of-service attack. A flaw in versions of perl before 5.15.5 can
+ escalate that into a heap buffer overrun; coupled with versions of glibc
+ before 2.16, it possibly allows the execution of arbitrary code.
+
+ The flaw addressed to this commit has been assigned identifier
+ CVE-2012-5195.
+
+diff --git a/util.c b/util.c
+index 171456f..34f5fa9 100644
+--- a/util.c
++++ b/util.c
+@@ -3416,6 +3416,9 @@ Perl_repeatcpy(register char *to, register const char *from, I32 len, register I
+ {
+ PERL_ARGS_ASSERT_REPEATCPY;
+
++ if (count < 0)
++ Perl_croak_nocontext("%s",PL_memory_wrap);
++
+ if (len == 1)
+ memset(to, *from, count);
+ else if (count) {