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

Vulnerabilidad de validación incorrecta de la entrada en Linux kernel (svcrdma)

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

Descripción

En el kernel de Linux se resolvió la siguiente vulnerabilidad: svcrdma: validar las posiciones de los Read chunks antes de la reconstrucción. El campo de posición del Read chunk de RPC/RDMA lo proporciona el cliente remoto y se almacena tal cual en la lista de chunks analizada. xdr_count_read_segments() solo verifica la alineación de 4 bytes; nunca compara la posición con la longitud del cuerpo inline recibido. En la ruta de un solo chunk, svc_rdma_read_complete_one() divide los kvecs de cabecera y cola en ch_position. Una posición más allá del cuerpo inline provoca un subdesbordamiento de la longitud de la cola, exponiendo memoria slab adyacente al decodificador XDR superior. En la ruta de múltiples chunks, svc_rdma_read_multiple_chunks() calcula las longitudes de los espacios entre chunks como restas sin signo a partir de ch_position. Los Read chunks superpuestos provocan un subdesbordamiento en estas restas. Una posición final más allá del cuerpo inline también provoca un subdesbordamiento de la longitud del espacio final. svc_rdma_copy_inline_range() copia entonces más allá del búfer de recepción hacia páginas de solicitud que se devuelven al cliente a través del canal Reply. La corrección limita las copias de rango inline en svc_rdma_copy_inline_range() según el cuerpo RPC inline decodificado guardado en rc_saved_arg, rechaza un único Read chunk posicionado más allá de ese cuerpo y rechaza listas de múltiples chunks en las que los bytes leídos acumulados superan la posición del siguiente chunk. Aplica las mismas verificaciones de posición y superposición en la ruta de intercalado de call chunks.

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: d96962e6d0e281bab6a48e83b42f5dce6eb28bf4 y anteriores a 6388f2ed36c10f59d926735b92c2b152d2c635e5 · d96962e6d0e281bab6a48e83b42f5dce6eb28bf4 y anteriores a 3861eeabaebe243050952b34063763527c44e1fe · d96962e6d0e281bab6a48e83b42f5dce6eb28bf4 y anteriores a 5ab3f6d882fe07ae5e61d0bcfeea00b9409155c2 · d96962e6d0e281bab6a48e83b42f5dce6eb28bf4 y anteriores a f84ec84d8d4bc65f9ae23372570349687f66fa39 · d96962e6d0e281bab6a48e83b42f5dce6eb28bf4 y anteriores a 577097455d084610fc31e91e6a61c5793b6f04ba · d96962e6d0e281bab6a48e83b42f5dce6eb28bf4 y anteriores a 3779b7b9e7d1c8ba4738f9d327de3b0288cefe9b
  • Linux Afectadas: 5.11 No afectadas: 6.1.191 · 6.6.160 · 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)

svcrdma: Validate Read chunk positions before reconstruction

In the Linux kernel, the following vulnerability has been resolved: svcrdma: Validate Read chunk positions before reconstruction The RPC/RDMA Read chunk position field is supplied by the remote client and stored verbatim in the parsed chunk list. xdr_count_read_segments() checks only 4-byte alignment; it never compares the position against the received inline body length. In the single-chunk path, svc_rdma_read_complete_one() splits the head and tail kvecs at ch_position. A position past the inline body underflows the tail length, exposing adjacent slab memory to the upper XDR decoder. In the multi-chunk path, svc_rdma_read_multiple_chunks() computes gap lengths between chunks as unsigned subtractions from ch_position. Overlapping Read chunks cause these subtractions to underflow. A final position past the inline body likewise underflows the trailing gap length. svc_rdma_copy_inline_range() then copies past the receive buffer into request pages that are returned to the client through the Reply channel. Bound inline-range copies in svc_rdma_copy_inline_range() against the decoded inline RPC body saved in rc_saved_arg. Reject a single Read chunk positioned beyond that body, and reject multi-chunk lists where accumulated read bytes exceed the next chunk's position. Apply the same position and overlap checks in the call-chunk interleaving path.

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