Dos vulnerabilidades en el servidor ggml-RPC de llama.cpp se publicaron en la base de datos nacional de vulnerabilidades con menos de una hora de diferencia durante la noche del 23 al 24 de agosto. Ambas afectan al mismo componente. Ninguna tiene arreglo en el árbol de publicación.

La más grave

CVE-2026-78147, publicada el 23 de agosto a las 23:16 UTC, afecta a la función deserialize_tensor. El servidor lee op y op_params de la red sin validarlos. En el caso de una operación personalizada, esa estructura contiene un puntero a función, que luego se invoca. La base de datos deja claro que esto es distinto de un CVE anterior, que solo añadió una comprobación de búfer y no validó los campos de la operación. El servidor RPC no requiere autenticación.

La segunda, y su arreglo de 41 días

CVE-2026-78148, publicada el 24 de agosto a las 00:16 UTC, es una desreferencia de puntero nulo en rpc_server::graph_compute, explotable de forma remota. Es la menos grave de las dos, y la que sí tiene una corrección: una solicitud de extracción abierta el 14 de julio que seguía sin fusionarse cuando el CVE se publicó 41 días después.

Lo que falla en el encuadre habitual

Se informará de estas vulnerabilidades como de "severidad media" porque esa es la etiqueta asociada a ambas. Esa etiqueta sigue la escala CVSS 4.0 más reciente, que sitúa a ambas en 6.9 — la misma puntuación para una llamada indirecta controlada remotamente y para un fallo por puntero nulo, algo que ya debería generar sospechas. En la escala CVSS 3.1 anterior, el mismo evaluador las separa correctamente: 7.3, en el rango alto, para el problema del puntero a función y 5.3 para el bloqueo. Las puntuaciones no se contradicen; son escalas distintas, y la que se muestra es precisamente la que aplana la diferencia.

La parte que no va de puntuación

El problema detrás del CVE más grave se reportó el 3 de julio y se cerró el 18 de agosto con el motivo not_planned — un cierre automático por inactividad, cinco días antes de que se publicara la vulnerabilidad. Ninguno de los dos era un fallo desconocido. Ambos estaban en el rastreador, y el rastreador siguió adelante.