FreeBSD: Ejecución Remota de Código en el Kernel mediante Desbordamiento de Búfer en kgssapi.ko (CVE-2026-4747)

Detalles de la Vulnerabilidad
La vulnerabilidad existe en sys/rpc/rpcsec_gss/svc_rpcsec_gss.c dentro de la función svc_rpc_gss_validate(). Se utiliza un búfer de pila de 128 bytes (rpchdr[]) para reconstruir los encabezados RPC para la verificación de firmas GSS-API. Después de escribir 32 bytes de campos fijos del encabezado RPC, la función copia todo el cuerpo de credencial RPCSEC_GSS (oa_length bytes) en el espacio restante sin verificación de límites.
static bool_t svc_rpc_gss_validate(...) {
int32_t rpchdr[128 / sizeof(int32_t)]; // 128 bytes en la pila
// ...
if (oa->oa_length) {
// ERROR: ¡No hay verificación de límites en oa_length!
// Después de 32 bytes de encabezado, solo quedan 96 bytes en rpchdr.
// Si oa_length > 96, esto desborda más allá de rpchdr
memcpy((caddr_t)buf, oa->oa_base, oa->oa_length);
}
}
Superficie de Ataque e Impacto
El módulo vulnerable kgssapi.ko implementa la autenticación RPCSEC_GSS para el subsistema RPC del kernel de FreeBSD. El demonio del servidor NFS (nfsd) que escucha en el puerto 2049/TCP procesa paquetes RPC en contexto del kernel y utiliza este módulo cuando la autenticación RPCSEC_GSS está habilitada. La explotación exitosa resulta en ejecución remota de código en el kernel con privilegios de root (shell inversa con uid 0).
Versiones Afectadas
- FreeBSD 13.5 (<p11)
- FreeBSD 14.3 (<p10)
- FreeBSD 14.4 (<p1)
- FreeBSD 15.0 (<p5)
La Solución
El parche para FreeBSD 14.4-RELEASE-p1 agrega una verificación de límites antes de la copia:
if (oa->oa_length > sizeof(rpchdr) - 8 * BYTES_PER_XDR_UNIT) {
rpc_gss_log_debug("auth length %d exceeds maximum", oa->oa_length);
client->cl_state = CLIENT_STALE;
return (FALSE);
}
Análisis del Diseño de la Pila
Del desensamblado de la función, el arreglo rpchdr está en [rbp-0xc0]. El memcpy escribe en rpchdr + 32 = [rbp-0xa0]. Con un manejador de contexto de 16 bytes en el cuerpo de la credencial, la dirección de retorno cae en el byte 200 del cuerpo de la credencial, permitiendo el control del flujo de ejecución.
📖 Leer la fuente completa: HN AI Agents
👀 Ver también

LiteLLM v1.82.8 Compromiso Utiliza Archivo .pth para Ejecución Persistente
LiteLLM v1.82.8 fue comprometido en PyPI e incluye un archivo .pth que ejecuta código arbitrario en cada inicio de proceso Python, no solo cuando se importa la biblioteca. La carga útil se ejecuta incluso si LiteLLM está instalado como una dependencia transitiva y nunca se usa directamente.

El ataque de cadena de suministro utiliza código Unicode invisible para evadir la detección.
Investigadores descubrieron 151 paquetes maliciosos subidos a GitHub del 3 al 9 de marzo usando caracteres Unicode invisibles para ocultar código malicioso. El ataque apunta a repositorios de GitHub, NPM y Open VSX con paquetes que parecen legítimos pero contienen cargas útiles ocultas.

Seguridad de OpenClaw Slack: Riesgos y Soluciones para la Exposición de Claves API
Las implementaciones de OpenClaw Slack pueden exponer claves API a través de mensajes de error en los canales, con más de 8,000 instancias encontradas expuestas en un informe de Bitsight. La fuente detalla tres vulnerabilidades específicas y proporciona soluciones prácticas que incluyen modificaciones en los prompts del sistema y migración a SlackClaw.

ThornGuard: Una Puerta de Enlace Proxy para Proteger las Conexiones del Servidor MCP contra la Inyección de Prompts
ThornGuard es un proxy que se sitúa entre los clientes MCP y los servidores ascendentes, escaneando el tráfico en busca de patrones de inyección, eliminando información personal identificable (PII) y registrando los datos en un panel de control. Fue desarrollado después de que las pruebas revelaran vulnerabilidades donde los servidores podían incrustar instrucciones ocultas en las respuestas de las herramientas.