- -------------------------------------------------------------------------
Debian Security Advisory DSA-3628-1                   security@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
    perl@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-announce@lists.debian.org

Debian: DSA-3628-1: perl security update

July 25, 2016
Multiple vulnerabilities were discovered in the implementation of the Perl programming language

Summary

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
perl@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-announce@lists.debian.org

Severity
Multiple vulnerabilities were discovered in the implementation of the
Perl programming language. The Common Vulnerabilities and Exposures
project identifies the following problems:

Related News