Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: RDMA/srpt: Corrección de los contadores de reversión de srpt_alloc_rw_ctxs() Cuando srpt_alloc_rw_ctxs() falla a mitad de un descriptor indirecto de múltiples búferes, la ruta de reversión destruye los contextos RDMA pero deja valores obsoletos en n_rw_ctx y n_rdma (y un puntero rw_ctxs colgante). Posteriormente, la contabilidad de sq_wr_avail en srpt_queue_response() o srpt_write_pending() puede restar una cantidad incorrecta de créditos de la cola de envío. Se restablecen los contadores y se limpia rw_ctxs después de liberar la asignación del heap y antes de retornar un error.
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: b99f8e4d7bcd3bfbb3cd965918523299370d0cb2 y anteriores a af00051dbc9f467d4840ec709680660a3f8990fa · b99f8e4d7bcd3bfbb3cd965918523299370d0cb2 y anteriores a 717ab4d0614e9446bf8e2de6229464499e4008d6 · b99f8e4d7bcd3bfbb3cd965918523299370d0cb2 y anteriores a f1f2252da52cdda912da9993f39f58783b01b38f · b99f8e4d7bcd3bfbb3cd965918523299370d0cb2 y anteriores a f65f45dfa1e6e2eaa9e11c8b8ce8857799cb189d · b99f8e4d7bcd3bfbb3cd965918523299370d0cb2 y anteriores a be1478849e1abb1e12dc12e14cdbf800cc6fa99a · b99f8e4d7bcd3bfbb3cd965918523299370d0cb2 y anteriores a af073bd245180393bcb15d33d3990a6bdc32593a · b99f8e4d7bcd3bfbb3cd965918523299370d0cb2 y anteriores a bd02d644bd19a2795c018635d273d91e45d2bb95 · b99f8e4d7bcd3bfbb3cd965918523299370d0cb2 y anteriores a b38f98e176050850f41bb6415f3a71400056623e
- Linux Afectadas: 4.7 No afectadas: 5.10.270 · 5.15.221 · 6.1.188 · 6.6.157 · 6.12.110 · 6.18.52
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
- Referencia en git.kernel.orggit.kernel.org/stable/c/af00051dbc9f467d4840ec709680660a3f8990fa
- Referencia en git.kernel.orggit.kernel.org/stable/c/717ab4d0614e9446bf8e2de6229464499e4008d6
- Referencia en git.kernel.orggit.kernel.org/stable/c/f1f2252da52cdda912da9993f39f58783b01b38f
- Referencia en git.kernel.orggit.kernel.org/stable/c/f65f45dfa1e6e2eaa9e11c8b8ce8857799cb189d
- Referencia en git.kernel.orggit.kernel.org/stable/c/be1478849e1abb1e12dc12e14cdbf800cc6fa99a
- Referencia en git.kernel.orggit.kernel.org/stable/c/af073bd245180393bcb15d33d3990a6bdc32593a
- Referencia en git.kernel.orggit.kernel.org/stable/c/bd02d644bd19a2795c018635d273d91e45d2bb95
- Referencia en git.kernel.orggit.kernel.org/stable/c/b38f98e176050850f41bb6415f3a71400056623e
Ver el texto original en inglés (CVE.org)
RDMA/srpt: Fix srpt_alloc_rw_ctxs() unwind counters
In the Linux kernel, the following vulnerability has been resolved: RDMA/srpt: Fix srpt_alloc_rw_ctxs() unwind counters When srpt_alloc_rw_ctxs() fails partway through a multi-buffer indirect descriptor, the unwind path destroys RDMA contexts but leaves stale n_rw_ctx and n_rdma values (and a dangling rw_ctxs pointer). Later sq_wr_avail accounting in srpt_queue_response() or srpt_write_pending() can then subtract the wrong number of send queue credits. Reset the counters and clear rw_ctxs after freeing the heap allocation before returning an error.