DSA-3501-1 perl -- security update

Related Vulnerabilities: CVE-2016-2381  

Stephane Chazelas discovered a bug in the environment handling in Perl. Perl provides a Perl-space hash variable, %ENV, in which environment variables can be looked up. If a variable appears twice in envp, only the last value would appear in %ENV, but getenv would return the first. Perl's taint security mechanism would be applied to the value in %ENV, but not to the other rest of the environment. This could result in an ambiguous environment causing environment variables to be propagated to subprocesses, despite the protections supposedly offered by taint checking. With this update Perl changes the behavior to match the following: %ENV is populated with the first environment variable, as getenv would return. Duplicate environment entries are removed. For the oldstable distribution (wheezy), this problem has been fixed in version 5.14.2-21+deb7u3. For the stable distribution (jessie), this problem has been fixed in version 5.20.2-3+deb8u4. For the unstable distribution (sid), this problem will be fixed in version 5.22.1-8. We recommend that you upgrade your perl packages.

Debian Security Advisory

DSA-3501-1 perl -- security update

Date Reported:
01 Mar 2016
Affected Packages:
perl
Vulnerable:
Yes
Security database references:
In Mitre's CVE dictionary: CVE-2016-2381.
More information:

Stephane Chazelas discovered a bug in the environment handling in Perl. Perl provides a Perl-space hash variable, %ENV, in which environment variables can be looked up. If a variable appears twice in envp, only the last value would appear in %ENV, but getenv would return the first. Perl's taint security mechanism would be applied to the value in %ENV, but not to the other rest of the environment. This could result in an ambiguous environment causing environment variables to be propagated to subprocesses, despite the protections supposedly offered by taint checking.

With this update Perl changes the behavior to match the following:

  1. %ENV is populated with the first environment variable, as getenv would return.
  2. Duplicate environment entries are removed.

For the oldstable distribution (wheezy), this problem has been fixed in version 5.14.2-21+deb7u3.

For the stable distribution (jessie), this problem has been fixed in version 5.20.2-3+deb8u4.

For the unstable distribution (sid), this problem will be fixed in version 5.22.1-8.

We recommend that you upgrade your perl packages.