Package: cdbs Version: 0.4.142 Severity: important Hi maintainer,
An update for debhelper has been released as part of our handling for the issue described below. This allows many packages to continue to build once '.' is removed from @INC. The plan is to do that as soon as practical in stable and unstable. I attach the patch I applied for jessie; please could you review this and apply something similar for sid? Thanks, Dominic. ----- Forwarded message from Salvatore Bonaccorso <car...@debian.org> ----- Date: Mon, 25 Jul 2016 14:18:38 +0000 From: Salvatore Bonaccorso <car...@debian.org> To: debian-security-annou...@lists.debian.org Subject: [SECURITY] [DSA 3628-1] perl security update ------------------------------------------------------------------------- Debian Security Advisory DSA-3628-1 secur...@debian.org https://www.debian.org/security/ Salvatore Bonaccorso July 25, 2016 https://www.debian.org/security/faq ------------------------------------------------------------------------- Package : perl CVE ID : CVE-2016-1238 CVE-2016-6185 Debian Bug : 829578 Multiple vulnerabilities were discovered in the implementation of the Perl programming language. The Common Vulnerabilities and Exposures project identifies the following problems: CVE-2016-1238 John Lightsey and Todd Rinaldo reported that the opportunistic loading of optional modules can make many programs unintentionally load code from the current working directory (which might be changed to another directory without the user realising) and potentially leading to privilege escalation, as demonstrated in Debian with certain combinations of installed packages. The problem relates to Perl loading modules from the includes directory array ("@INC") in which the last element is the current directory ("."). That means that, when "perl" wants to load a module (during first compilation or during lazy loading of a module in run- time), perl will look for the module in the current directory at the end, since '.' is the last include directory in its array of include directories to seek. The issue is with requiring libraries that are in "." but are not otherwise installed. With this update several modules which are known to be vulnerable are updated to not load modules from current directory. Additionally the update allows configurable removal of "." from @INC in /etc/perl/sitecustomize.pl for a transitional period. It is recommended to enable this setting if the possible breakage for a specific site has been evaluated. Problems in packages provided in Debian resulting from the switch to the removal of '.' from @INC should be reported to the Perl maintainers at p...@packages.debian.org . It is planned to switch to the default removal of '.' in @INC in a subsequent update to perl via a point release if possible, and in any case for the upcoming stable release Debian 9 (stretch). CVE-2016-6185 It was discovered that XSLoader, a core module from Perl to dynamically load C libraries into Perl code, could load shared library from incorrect location. XSLoader uses caller() information to locate the .so file to load. This can be incorrect if XSLoader::load() is called in a string eval. An attacker can take advantage of this flaw to execute arbitrary code. For the stable distribution (jessie), these problems have been fixed in version 5.20.2-3+deb8u6. Additionally this update includes the following updated packages to address optional module loading vulnerabilities related to CVE-2016-1238, or to address build failures which occur when '.' is removed from @INC: - cdbs 0.4.130+deb8u1 - debhelper 9.20150101+deb8u2 - devscripts 2.15.3+deb8u1 - exim4 4.84.2-2+deb8u1 - libintl-perl 1.23-1+deb8u1 - libmime-charset-perl 1.011.1-1+deb8u2 - libmime-encwords-perl 1.014.3-1+deb8u1 - libmodule-build-perl 0.421000-2+deb8u1 - libnet-dns-perl 0.81-2+deb8u1 - libsys-syslog-perl 0.33-1+deb8u1 - libunicode-linebreak-perl 0.0.20140601-2+deb8u2 We recommend that you upgrade your perl packages. Further information about Debian Security Advisories, how to apply these updates to your system and frequently asked questions can be found at: https://www.debian.org/security/ Mailing list: debian-security-annou...@lists.debian.org ----- End forwarded message -----
>From 494b17cb191b0ba216194b38182f69105811e33b Mon Sep 17 00:00:00 2001 From: Dominic Hargreaves <d...@earth.li> Date: Sat, 9 Jul 2016 11:24:41 +0200 Subject: [PATCH] Invoke Makefile.PL and Build.PL with perl -I. as part of the fixes for CVE-2016-1238 --- 1/class/perl-build.mk.in | 2 +- 1/class/perl-makemaker-vars.mk.in | 2 +- 1/class/perlmodule-vars.mk.in | 2 +- debian/changelog | 8 ++++++++ 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/1/class/perl-build.mk.in b/1/class/perl-build.mk.in index 41615fc..1b459df 100644 --- a/1/class/perl-build.mk.in +++ b/1/class/perl-build.mk.in @@ -56,7 +56,7 @@ export AUTOMATED_TESTING = $(DEB_PERL_AUTOMATED_TESTING) common-configure-arch common-configure-indep:: $(DEB_PERL_SRCDIR)/Build $(DEB_PERL_SRCDIR)/Build: $(cdbs_perl_srcdir_check) - cd $(cdbs_perl_curbuilddir) && perl Build.PL $(DEB_PERL_BUILD_CONFIGURE_TARGET) $(DEB_PERL_CONFIGURE_ARGS) $(DEB_PERL_CONFIGURE_FLAGS) + cd $(cdbs_perl_curbuilddir) && perl -I. Build.PL $(DEB_PERL_BUILD_CONFIGURE_TARGET) $(DEB_PERL_CONFIGURE_ARGS) $(DEB_PERL_CONFIGURE_FLAGS) common-build-arch common-build-indep:: debian/stamp-perl-build debian/stamp-perl-build: diff --git a/1/class/perl-makemaker-vars.mk.in b/1/class/perl-makemaker-vars.mk.in index 17b2a25..6bc05fb 100644 --- a/1/class/perl-makemaker-vars.mk.in +++ b/1/class/perl-makemaker-vars.mk.in @@ -44,7 +44,7 @@ DEB_MAKE_EXTRA_ARGS = \ $(cdbs_perl_lddlflags))" \ $(DEB_MAKE_PARALLEL) -DEB_MAKEMAKER_INVOKE ?= /usr/bin/perl Makefile.PL \ +DEB_MAKEMAKER_INVOKE ?= /usr/bin/perl -I. Makefile.PL \ $(DEB_MAKEMAKER_NORMAL_ARGS) \ $(DEB_MAKEMAKER_USER_FLAGS) \ INSTALLDIRS=vendor diff --git a/1/class/perlmodule-vars.mk.in b/1/class/perlmodule-vars.mk.in index 9c69e9a..02e01ef 100644 --- a/1/class/perlmodule-vars.mk.in +++ b/1/class/perlmodule-vars.mk.in @@ -49,7 +49,7 @@ DEB_MAKE_EXTRA_ARGS = \ # Unset for standard debhelper rules (use debian/tmp if multiple packages). DEB_MAKEMAKER_PACKAGE ?= $(firstword $(if $(_cdbs_rules_debhelper),$(shell dh_listpackages),$(shell $(_cdbs_scripts_path)/list-packages))) -DEB_MAKEMAKER_INVOKE ?= /usr/bin/perl Makefile.PL $(DEB_MAKEMAKER_USER_FLAGS) INSTALLDIRS=vendor +DEB_MAKEMAKER_INVOKE ?= /usr/bin/perl -I. Makefile.PL $(DEB_MAKEMAKER_USER_FLAGS) INSTALLDIRS=vendor # Set some MakeMaker defaults # FIXME: Restructure to allow early override diff --git a/debian/changelog b/debian/changelog index 994bee2..bc16d84 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +cdbs (0.4.130+deb8u1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Invoke Makefile.PL and Build.PL with perl -I. as part of the fixes + for CVE-2016-1238 + + -- Dominic Hargreaves <d...@earth.li> Sat, 09 Jul 2016 11:24:14 +0200 + cdbs (0.4.130) unstable; urgency=medium * Fix quoting of compiler flags in perlmodule-vars.mk. -- 2.1.4