Tavis Ormandy de l'équipe de sécurité de Google a découvert plusieurs problèmes de sécurité dans PCRE, la bibliothèque d'expressions rationnelles compatibles Perl. Cela permet potentiellement à des attaquants d'exécuter du code arbitraire en compilant des expressions rationnelles conçues spécialement.
La version 7.0 de la bibliothèque PCRE comprend une réécriture majeure du compilateur d'expressions rationnelles et il a été jugé impossible de rétroporter les correctifs de sécurité de la version 7.3 vers les versions des distributions stable et ancienne stable de Debian (version 6.7 et 4.5 respectivement). Aussi, cette mise à jour est-elle basée sur la version 7.4 (qui comprend ces correctifs de sécurité de la version 7.3 ainsi que plusieurs corrections de régressions), avec des correctifs particuliers pour améliorer la compatibilité avec les anciennes versions. Ainsi, une attention particulière est-elle nécessaire lors de l'application de cette mise à jour.
Le projet des expositions et vulnérabilités communes (CVE) identifie les problèmes suivants :
Des séquences \Q\E mal appariées avec des codes \E orphelins peuvent engendrer une désynchronisation du compilateur d'expressions rationnelles conduisant à un pseudo-code corrompu. Cela peut entraîner de nombreuses conditions de vulnérabilité.
Les tailles de plusieurs formes de classes caractères sont mal calculées lors de l'analyse initiale entraînant l'allocation de trop peu de mémoire.
Plusieurs motifs de la forme \X?\d ou \P{L}?\d dans des modes non UTF-8 peuvent revenir en arrière avant le début de la chaîne en pouvant laisser fuir des informations de l'espace d'adressage ou en engendrant un plantage par lecture hors limite.
Un certain nombre de routines peuvent être trompées et lire après la fin de la chaîne à la recherche de parenthèses ou des crochets non appariés engendrant un déni de service.
Plusieurs débordements d'entiers dans le traitement des séquences de protection peuvent engendrer des débordement de blocs de mémoires ou des lectures ou écritures hors limites.
Des boucles infinies et des débordements de zones de mémoire ont été découverts dans la gestion des séquences \P et \P{x} où la longueur de ces opérations exceptionnelles est mal gérée.
Des classes de caractères ne contenant qu'une seule séquence unicode sont mal optimisées, engendrant un débordement de zone de mémoire.
Pour l'ancienne distribution stable (Sarge), ces problèmes ont été corrigés dans la version 4.5+7.4-1.
Pour la distribution stable (Etch), ces problèmes ont été corrigés dans la version 6.7+7.4-2.
Pour la distribution instable (Sid), ces problèmes ont été corrigés dans la version 7.3-1.
Les sommes MD5 des fichiers indiqués sont disponibles sur la page originale de l'alerte de sécurité.