Bulletin d'alerte Debian
DSA-3628-1 perl -- Mise à jour de sécurité
- Date du rapport :
- 25 juillet 2016
- Paquets concernés :
- perl
- Vulnérabilité :
- Oui
- Références dans la base de données de sécurité :
- Dans le système de suivi des bogues Debian : Bogue 829578.
Dans le dictionnaire CVE du Mitre : CVE-2016-1238, CVE-2016-6185. - Plus de précisions :
-
Plusieurs vulnérabilités ont été découvertes dans l'implémentation du langage de programmation Perl. Le projet « Common Vulnerabilities and Exposures » (CVE) identifie les problèmes suivants :
- CVE-2016-1238
John Lightsey et Todd Rinaldo ont signalé que le chargement opportuniste de modules optionnels peut provoquer le chargement involontaire de code par de nombreux programmes à partir du répertoire de travail courant (qui pourrait être changé pour un autre répertoire sans que l'utilisateur s'en rende compte) et éventuellement mène à une augmentation de droits, comme cela a été démontré dans Debian avec certaines combinaisons de paquets installés.
Le problème est lié au chargement de modules par Perl à partir du tableau de répertoires « includes » (@INC) dans lequel le dernier élément est le répertoire courant (« . »). Cela signifie que, quand
perl
souhaite charger un module (lors d'une première compilation ou du chargement différé d'un module durant l'exécution), Perl cherche finalement le module dans le répertoire courant, dans la mesure où « . » est le dernier répertoire inclus dans son tableau de répertoires inclus à explorer. Le problème vient de la demande de bibliothèques qui sont dans « . » mais qui ne sont pas autrement installées.Avec cette mise à jour, plusieurs modules qui sont connus pour être vulnérables sont mis à jour pour ne pas charger de modules à partir du répertoire courant.
En complément, la mise à jour permet le retrait configurable de « . » de @INC dans /etc/perl/sitecustomize.pl pour une période de transition. Il est recommandé d'activer ce réglage si la casse potentielle d'un site particulier a été supputée. Les problèmes dans les paquets fournis dans Debian résultant du passage au retrait de « . » dans @INC doivent être signalés aux mainteneurs de Perl à l'adresse perl@packages.debian.org .
Il est prévu de passer au retrait par défaut de « . » dans @INC lors d'une mise à jour ultérieure de Perl lors d'une publication intermédiaire si possible, et de toute façon dans la version stable à venir, Debian 9 (Stretch).
- CVE-2016-6185
XSLoader, un module essentiel de Perl pour le chargement dynamique de bibliothèques C dans le code de Perl, pourrait charger une bibliothèque partagée à partir d'un emplacement incorrect. XSLoader utilise les informations de caller() pour localiser le fichier .so à charger. Cela peut être incorrect si XSLoader::load() est appelé dans une évaluation de chaîne. Un attaquant peut tirer avantage de ce défaut pour exécuter du code arbitraire.
Pour la distribution stable (Jessie), ces problèmes ont été corrigés dans la version 5.20.2-3+deb8u6. En complément, cette mise à jour comprend la mise à jour des paquets suivants pour corriger les vulnérabilités de chargement de module liées à CVE-2016-1238, ou les échecs de construction qui se produisent lorsque « . » est supprimé de @INC :
- cdbs 0.4.130+deb8u1
- debhelper 9.20150101+deb8u2
- devscripts 2.15.3+deb8u12
- exim4 4.84.2-2+deb8u12
- libintl-perl 1.23-1+deb8u12
- libmime-charset-perl 1.011.1-1+deb8u22
- libmime-encwords-perl 1.014.3-1+deb8u12
- libmodule-build-perl 0.421000-2+deb8u12
- libnet-dns-perl 0.81-2+deb8u12
- libsys-syslog-perl 0.33-1+deb8u12
- libunicode-linebreak-perl 0.0.20140601-2+deb8u22
Nous vous recommandons de mettre à jour vos paquets perl.
- CVE-2016-1238