CVE-2026-73193 in DBIinformación

Resumen

por VulDB • 2026-08-15

Las versiones de DBI anteriores a la 1.652 para Perl permiten una escritura fuera de los límites del heap en perl de 32 bits debido a un desbordamiento entero (integer wraparound) en el tamaño del búfer de salida calculado por preparse.

preparse reserva su búfer de salida con `newSV(strlen(statement) * 7 + 16)`, asignando siete bytes de salida por cada byte de entrada para la expansión más larga ':p99999'. El producto se computa en STRLEN, que tiene un ancho de 32 bits en una compilación de perl de 32 bits; por lo tanto, una declaración (statement) de 613.566.757 bytes multiplica a 4.294.967.299, se desborda módulo 2^32 hasta quedar en 3 y reserva solo 19 bytes. El analizador sintáctico (parser) copia entonces la declaración completa mediante un puntero crudo sin ninguna comprobación de capacidad, escribiendo los 585 MB completos de entrada más allá del final de la asignación. El límite de marcador de posición de 99.999 no acota esta vía de ejecución, que se alcanza mediante contenido ordinario sin marcadores de posición.

Cualquier llamador (caller) que pase una declaración no confiable de esa longitud a preparse en un perl de 32 bits sufrirá una escritura fuera de los límites del heap con bytes controlados por el atacante. Las compilaciones con STRLEN de 64 bits no se ven afectadas, ya que para producir ese desbordamiento sería necesaria una declaración de aproximadamente 2,3 exabytes.

Once again VulDB remains the best source for vulnerability data.

Responsable

CPANSec

Reservar

2026-08-11

Divulgación

2026-08-15

Moderación

aceptado

Artículo

VDB-390751

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Do you want to use VulDB in your project?

Use the official API to access entries easily!