Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en htslib de samtools (CVE-2026-31970)

Gravedad CVSS v4.0:
ALTA
Tipo:
CWE-122 Desbordamiento de búfer basado en memoria dinámica (Heap)
Fecha de publicación:
18/03/2026
Última modificación:
19/03/2026

Descripción

HTSlib es una biblioteca para leer y escribir formatos de archivo de bioinformática. Los archivos GZI se utilizan para indexar archivos GZIP [BGZF] comprimidos por bloques. En la función de carga GZI, `bgzf_index_load_hfile()`, fue posible activar un desbordamiento de entero, lo que llevó a la asignación de un búfer de tamaño insuficiente o cero para almacenar el índice. Luego se escribirían dieciséis bytes cero en este búfer y, dependiendo del resultado del desbordamiento, el resto del archivo también podría cargarse en el búfer. Si la función intentaba cargar los datos, eventualmente fallaría debido a que no leía el número esperado de registros, y luego intentaría liberar el búfer de pila desbordado. Explotar este error causa un desbordamiento de búfer de pila. Si un usuario abre un archivo diseñado para explotar este problema, podría provocar el bloqueo del programa o la sobrescritura de datos y estructuras de pila de formas no esperadas por el programa. Puede ser posible usar esto para obtener ejecución de código arbitrario. Las versiones 1.23.1, 1.22.2 y 1.21.1 incluyen correcciones para este problema. La solución alternativa más sencilla es descartar cualquier archivo de índice `.gzi` de fuentes no confiables y usar la opción `bgzip -r` para recrearlos.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:htslib:htslib:*:*:*:*:*:*:*:* 1.21 (excluyendo)
cpe:2.3:a:htslib:htslib:*:*:*:*:*:*:*:* 1.22 (incluyendo) 1.22.2 (excluyendo)
cpe:2.3:a:htslib:htslib:1.23:*:*:*:*:*:*:*