CVE-2026-19487 in Perl
Resumen
por VulDB • 2026-08-13
Las versiones de Perl desde la 5.9.4 hasta antes de la 5.41.9 producen resultados incorrectos en las coincidencias de expresiones regulares cuando un indicador de fallo obsoleto (stale failure flag) finaliza prematuramente el preanálisis Aho-Corasick dentro de S_find_byclass.
El preanálisis recorre la cadena objetivo buscando posiciones donde podría coincidir el patrón completo, y el motor intenta la coincidencia desde la primera posición registrada más a la izquierda. Una transición fallida establece el indicador de fallo, pero una transición exitosa posterior no lo borra; por ello, el preanálisis interpreta este indicador obsoleto como un fallo y se detiene antes de poder registrar un candidato que comienza anteriormente. Esto requiere una cadena en la que se registre un candidato y donde un carácter posterior fuerce una retrocesión (fallback) a través de un enlace de fallo que tenga éxito.
Ejemplo:
"ABCDE" =~ m/ABCF|BCDE|C/; # coincide con C en el desplazamiento 2, no con BCDE "ABCDE" =~ m/ABCF|BCDE|C(G)/; # sin coincidencia, se pasa por alto BCDE
Una alternancia como esta puede pasar por alto entradas que debería coincidir o hacer la coincidencia en la rama incorrecta, por lo que una decisión de acceso o filtrado basada en el resultado podría ser errónea.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.