Saltar al contenido
CVE-2026-93207 Fuente: CVE.org Publicada · sin explotación confirmada

SUNRPC: puesta a cero de rpc_gss_wire_cred al inicio de svcauth_gss_decode_credbody()

Linux · Linux · Publicada en CVE.org el 24-09-2026 · Última actualización: 09-11-2026

Descripción

En el kernel de Linux se resolvió la siguiente vulnerabilidad: SUNRPC: puesta a cero de rpc_gss_wire_cred al inicio de svcauth_gss_decode_credbody() svcauth_gss_decode_credbody() escribe la estructura rpc_gss_wire_cred del llamador campo por campo y asigna gc_ctx.len solo en el tramo final exitoso. El almacenamiento del llamador es svcdata->clcred, que reside en la gss_svc_data de cada svc_rqst y se reutiliza entre solicitudes. Los fallos tempranos de decodificación dejan un estado parcialmente decodificado mezclado con residuos de la solicitud anterior. La verificación final de ajuste de body_len es el caso más crítico: xdr_stream_decode_opaque_inline() ya escribió gc_ctx.data con un puntero en línea prestado hacia las páginas XDR de la solicitud actual, pero gc_ctx.len conserva su valor anterior. Una vez liberadas las páginas de la solicitud, la clcred del pool contiene un puntero colgante emparejado con una longitud obsoleta. Se pone a cero la rpc_gss_wire_cred del llamador al inicio de la función, de modo que toda ruta de retorno temprano deje una credencial determinista completamente en cero. En la ruta de la verificación final de ajuste, gc_ctx.len ahora es cero en lugar de un valor obsoleto, lo que neutraliza a los consumidores guiados por la longitud, como gss_svc_searchbyctx(), que de otro modo recorrerían el puntero de datos colgante.

Qué hacer

Revisa si usas el producto afectado y en qué versión, y aplica la actualización o la mitigación que indique el aviso del fabricante. CISA no ha confirmado que se esté explotando; si eso cambia, esta ficha pasa a «explotada» y te avisamos en el boletín.

Versiones afectadas

  • Linux Afectadas: b0bc53470d1af01f62a0fe2d405cf56477804863 y anteriores a 56b29d62017c7dd1718d060dd5b3a2ce61095d0c · b0bc53470d1af01f62a0fe2d405cf56477804863 y anteriores a 0e18641708eaa8bc3c1ff338cd844aeadbd52bac · b0bc53470d1af01f62a0fe2d405cf56477804863 y anteriores a e0778464049b0238f2915a40007a4154f86cf351 · b0bc53470d1af01f62a0fe2d405cf56477804863 y anteriores a 0fa8a8acae57e6373962741d5b06d13f44aba6a9 · b0bc53470d1af01f62a0fe2d405cf56477804863 y anteriores a 11539e8fcce0b0af062ae5fecf7b3676c2f7aeed
  • Linux Afectadas: 6.3 No afectadas: 6.6.157 · 6.12.109 · 6.18.50 · 7.2.4 · 7.3

Según el registro de la vulnerabilidad en CVE.org, tal como lo publicó el fabricante. Confirma tu versión exacta en el aviso del fabricante.

Referencias

Ver el texto original en inglés (CVE.org)

SUNRPC: Zero rpc_gss_wire_cred at svcauth_gss_decode_credbody() entry

In the Linux kernel, the following vulnerability has been resolved: SUNRPC: Zero rpc_gss_wire_cred at svcauth_gss_decode_credbody() entry svcauth_gss_decode_credbody() writes the caller's rpc_gss_wire_cred field by field and assigns gc_ctx.len only on the success tail. The caller storage is svcdata->clcred, which lives in the per-svc_rqst gss_svc_data and is reused across requests. Early decode failures leave partially decoded state mixed with residue from the prior request. The trailing body_len tightness check is the sharpest case: xdr_stream_decode_opaque_inline() has already written gc_ctx.data with a borrowed inline pointer into the current request's XDR pages, but gc_ctx.len retains its prior value. Once the request pages are released the pooled clcred carries a dangling pointer paired with a stale length. Zero the caller's rpc_gss_wire_cred at function entry so that every early-return path leaves a deterministic all-zero cred. On the trailing tightness-check path, gc_ctx.len is now zero instead of stale, which neuters length-driven consumers such as gss_svc_searchbyctx() that would otherwise walk the dangling data pointer.

Recibe el boletín cuando CISA agregue vulnerabilidades nuevas

Te escribimos solo cuando CISA agrega vulnerabilidades nuevas, ya traducidas: cada día que haya, o en un resumen los lunes. Confirmas por correo y te das de baja con un clic.

Frecuencia