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

Vulnerabilidad en llama.cpp (CVE-2025-49847)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-119 Restricción de operaciones inapropiada dentro de los límites del búfer de la memoria
Fecha de publicación:
17/06/2025
Última modificación:
17/06/2025

Descripción

llama.cpp es una inferencia de varios modelos LLM en C/C++. Antes de la versión b5662, un vocabulario de modelo GGUF proporcionado por un atacante podía provocar un desbordamiento de búfer en el código de carga de vocabulario de llama.cpp. Específicamente, el asistente _try_copy en llama.cpp/src/vocab.cpp: llama_vocab::impl::token_to_piece() convierte una longitud de token size_t muy grande en un int32_t, lo que provoca que se omita la comprobación de longitud (si (length < (int32_t)size)). Como resultado, se sigue llamando a memcpy con ese tamaño excesivo, lo que permite que un modelo malicioso sobrescriba la memoria más allá del búfer previsto. Esto puede provocar corrupción de memoria arbitraria y la posible ejecución de código. Este problema se ha corregido en la versión b5662.