CVE-2026-5089

YAML::Syck versions before 1.38 for Perl has an out-of-bounds read. The base60 (sexagesimal) parsing code in perl_syck.h has a buffer underflow bug in both int#base60 and float#base60 handlers. When processing the leftmost segment of a colon-separated value (e.g., the 1 in 1:30:45), the inner while loop can decrement a pointer past the start of the string buffer: while ( colon >= ptr && *colon != ':' ) { colon--; } if ( *colon == ':' ) *colon = '\0'; // colon may be ptr-1 here When no colon is found (final/leftmost segment), colon becomes ptr-1, and the subsequent *colon dereference reads one byte before the allocated buffer.
Configurations

No configuration.

History

26 Oct 2026, 18:10

Type Values Removed Values Added
Summary
  • (es) Las versiones de YAML::Syck anteriores a la 1.38 para Perl tienen una lectura fuera de límites. El código de análisis (parsing) base60 (sexagesimal) en perl_syck.h tiene un error de subdesbordamiento de búfer en los manejadores int#base60 y float#base60. Al procesar el segmento más a la izquierda de un valor separado por dos puntos (p. ej., el 1 en 1:30:45), el bucle ’while’ interno puede decrementar un puntero más allá del inicio del búfer de cadena: while ( colon >= ptr && colon != ’:’ ) { colon--; } if ( colon == ’:’ ) colon = ’\0’; // ’colon’ puede ser ’ptr-1’ aquí Cuando no se encuentra ningún dos puntos (segmento final/más a la izquierda), ’colon’ se convierte en ’ptr-1’, y la desreferencia subsiguiente de colon lee un byte antes del búfer asignado.

Information

Published : 2026-05-12 17:16

Updated : 2026-10-26 18:10


NVD link : CVE-2026-5089

Mitre link : CVE-2026-5089

CVE.ORG link : CVE-2026-5089


JSON object : View

Products Affected

No product.

CWE
CWE-124

Buffer Underwrite ('Buffer Underflow')