aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools
diff options
context:
space:
mode:
authoryanjun.zhu <yanjun.zhu@windriver.com>2014-05-20 09:27:47 +0800
committerAndreas Oberritter <obi@opendreambox.org>2015-02-23 17:15:37 +0100
commit7263483a27a0f2c4bba92008dd4a508fcf37ce99 (patch)
treefe54b00d18650dc89082310601de5ff263e867e3 /meta/recipes-devtools
parent925837bc5493f89ffdfaeef4261d95c804b48c34 (diff)
downloadopenembedded-core-contrib-7263483a27a0f2c4bba92008dd4a508fcf37ce99.tar.gz
perl: fix for CVE-2010-4777
The Perl_reg_numbered_buff_fetch function in Perl 5.10.0, 5.12.0, 5.14.0, and other versions, when running with debugging enabled, allows context-dependent attackers to cause a denial of service (assertion failure and application exit) via crafted input that is not properly handled when using certain regular expressions, as demonstrated by causing SpamAssassin and OCSInventory to crash. http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-4777 Signed-off-by: yanjun.zhu <yanjun.zhu@windriver.com> Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> (cherry picked from commit 368df9f13ddf124e6aaaec06c02ab698c9e0b6c3) Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Diffstat (limited to 'meta/recipes-devtools')
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.3/perl-5.14.3-fix-CVE-2010-4777.patch45
-rw-r--r--meta/recipes-devtools/perl/perl-native_5.14.3.bb3
-rw-r--r--meta/recipes-devtools/perl/perl_5.14.3.bb3
3 files changed, 49 insertions, 2 deletions
diff --git a/meta/recipes-devtools/perl/perl-5.14.3/perl-5.14.3-fix-CVE-2010-4777.patch b/meta/recipes-devtools/perl/perl-5.14.3/perl-5.14.3-fix-CVE-2010-4777.patch
new file mode 100644
index 0000000000..e0dcf412bb
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.3/perl-5.14.3-fix-CVE-2010-4777.patch
@@ -0,0 +1,45 @@
+perl:fix for CVE-2010-4777
+
+Upstream-Status: Backport
+
+The Perl_reg_numbered_buff_fetch function in Perl 5.10.0, 5.12.0,
+5.14.0, and other versions, when running with debugging enabled,
+allows context-dependent attackers to cause a denial of service
+(assertion failure and application exit) via crafted input that
+is not properly handled when using certain regular expressions,
+as demonstrated by causing SpamAssassin and OCSInventory to
+crash.
+
+http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-4777
+
+Signed-off-by: yanjun.zhu <yanjun.zhu@windriver.com>
+--- a/regcomp.c
++++ b/regcomp.c
+@@ -11868,8 +11868,25 @@ Perl_save_re_context(pTHX)
+
+ if (gvp) {
+ GV * const gv = *gvp;
+- if (SvTYPE(gv) == SVt_PVGV && GvSV(gv))
+- save_scalar(gv);
++ if (SvTYPE(gv) == SVt_PVGV && GvSV(gv)) {
++ /* this is a copy of save_scalar() without the GETMAGIC call, RT#76538 */
++ SV ** const sptr = &GvSVn(gv);
++ SV * osv = *sptr;
++ SV * nsv = newSV(0);
++ save_pushptrptr(SvREFCNT_inc_simple(gv),
++ SvREFCNT_inc(osv), SAVEt_SV);
++ if (SvTYPE(osv) >= SVt_PVMG && SvMAGIC(osv) &&
++ SvTYPE(osv) != SVt_PVGV) {
++ if (SvGMAGICAL(osv)) {
++ const bool oldtainted = PL_tainted;
++ SvFLAGS(osv) |= (SvFLAGS(osv) &
++ (SVp_IOK|SVp_NOK|SVp_POK)) >> PRIVSHIFT;
++ PL_tainted = oldtainted;
++ }
++ mg_localize(osv, nsv, 1);
++ }
++ *sptr = nsv;
++ }
+ }
+ }
+ }
diff --git a/meta/recipes-devtools/perl/perl-native_5.14.3.bb b/meta/recipes-devtools/perl/perl-native_5.14.3.bb
index c9ec2d2655..f121148d6d 100644
--- a/meta/recipes-devtools/perl/perl-native_5.14.3.bb
+++ b/meta/recipes-devtools/perl/perl-native_5.14.3.bb
@@ -18,7 +18,8 @@ SRC_URI = "http://www.cpan.org/src/5.0/perl-${PV}.tar.gz \
file://MM_Unix.pm.patch \
file://debian/errno_ver.diff \
file://dynaloaderhack.patch \
- file://perl-build-in-t-dir.patch"
+ file://perl-build-in-t-dir.patch \
+ file://perl-5.14.3-fix-CVE-2010-4777.patch "
SRC_URI[md5sum] = "f6a3d878c688d111b495c87db56c5be5"
SRC_URI[sha256sum] = "03638a4f01bc26b81231233671524b4163849a3a9ea5cc2397293080c4ea339f"
diff --git a/meta/recipes-devtools/perl/perl_5.14.3.bb b/meta/recipes-devtools/perl/perl_5.14.3.bb
index 1e14e17020..8f80562ddb 100644
--- a/meta/recipes-devtools/perl/perl_5.14.3.bb
+++ b/meta/recipes-devtools/perl/perl_5.14.3.bb
@@ -74,7 +74,8 @@ SRC_URI = "http://www.cpan.org/src/5.0/perl-${PV}.tar.gz \
file://config.sh-32-be \
file://config.sh-64 \
file://config.sh-64-le \
- file://config.sh-64-be"
+ file://config.sh-64-be \
+ file://perl-5.14.3-fix-CVE-2010-4777.patch "
# file://debian/fakeroot.diff
SRC_URI[md5sum] = "f6a3d878c688d111b495c87db56c5be5"