CVE-2026-60075 in Date::Manipinformation

Résumé

par VulDB • 30/07/2026

Les versions de Date::Manip jusqu'à la 6.99 pour Perl permettent une épuisement des ressources CPU via un backtracking quadratique lors de la substitution temporelle non ancrée dans _parse_time.

_parse_time extrait une date/heure depuis n'importe où dans la chaîne grâce à la substitution non ancrée `s/$timerx/ /`, où $timerx est une alternance générée automatiquement de motifs temporels atteints via un préfixe `(?:$atrx|^|\s+)`. Le moteur tente donc de faire correspondre le motif à chaque position d'une séquence interne d'espaces blancs : pour chaque position de départ, l'expression `\s+` consomme avidement la suite de la séquence ; l'alternance temporelle échoue car la séquence ne contient aucun chiffre ; puis le moteur effectue un backtracking espace par espace à travers cette séquence avant d'avancer la position de départ. Cette complexité est quadratique par rapport à la longueur de la séquence. Aucune date/heure n'a besoin d'être présente dans la chaîne pour que cela se produise, une longue suite d'espaces blancs suffit ; le temps de traitement augmente environ d'un facteur quatre à chaque doublement de la taille de cette suite : quelques kilo-octets d'espaces blancs coûtent plusieurs secondes de CPU par analyse, et des dizaines de kilo-octets peuvent prendre plusieurs minutes.

Tout appelant qui transmet une chaîne non fiable de longueur illimitée aux fonctions ParseDate(), Date::Manip::Date->parse() ou ->parse_time() peut être contraint à consommer un temps CPU illimité lors d'une seule opération d'analyse, constituant ainsi une attaque par déni de service (DoS).

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsable

CPANSec

Réserver

08/07/2026

Divulgation

30/07/2026

Modérer

accepté

Entrée

VDB-384814

CPE

prêt

EPSS

0.00000

KEV

non

Activités

très faible

Sources

Do you need the next level of professionalism?

Upgrade your account now!