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

PolyRange: Benchmark Ofensivo de IA Resistente a la Contaminación con Objetivos Generados por LLM
PolyRange v1.0 es un benchmark de código abierto (licencia MIT) autohospedable que genera objetivos web frescos en cada ejecución para evitar la contaminación de los datos de entrenamiento. Incluye 84 clases derivadas de WSTG en todas las categorías OWASP, dos niveles de defensa y backends reales.

Google dice que hackers criminales usaron IA para encontrar vulnerabilidad de día cero
Google reveló que atacantes utilizaron un agente de IA para descubrir y explotar una vulnerabilidad de software previamente desconocida, marcando el primer caso confirmado de descubrimiento de día cero impulsado por IA en el entorno real.

Google informa que el hackeo impulsado por IA alcanzó escala industrial en 3 meses
El grupo de inteligencia de amenazas de Google descubrió que grupos criminales y estatales están utilizando modelos de IA comerciales (Gemini, Claude, OpenAI) para refinar y escalar ataques. Un grupo casi aprovechó un día cero para una explotación masiva, y otros están experimentando con el agente OpenClaw sin restricciones.

Bloqueo Esencial de Archivos para Asistentes de Codificación con IA: Una Lista de Verificación de Seguridad Práctica
Los asistentes de codificación con IA presentan un nuevo desafío de seguridad: leen directamente de tu sistema de archivos local, no solo de tu repositorio controlado por versiones. Esto significa que los archivos protegidos por .gitignore para no subirse a GitHub siguen siendo accesibles para el agente que se ejecuta en tu máquina.