CVE-2026-90103 in Linux
Resumen
por VulDB • 2026-09-18
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
NFSv4.2: corrección del agotamiento del buffer de envío en LAYOUTSTATS
encode_layoutstats_maxsz presupuesta XDR_QUADLEN(PNFS_LAYOUTSTATS_MAXSIZE), es decir, 256 bytes, para el cuerpo layoutupdate4 escrito por el controlador de layouts (layout driver). El registro ff_layout puede exceder esa cantidad.
ff_layout_encode_ff_layoutupdate() emite, por cada servidor de datos, un netaddr4, un nfs_fh4, dos ff_io_latency4, un nfstime4 y un bool. Un servidor de datos cuyo filehandle tiene una longitud de NFS_MAXFHSIZE bytes ya consume 132 de esos bytes, y los dos ff_io_latency4 (64 bytes cada uno), el nfstime4 y el bool añaden otros 144, por lo que el cuerpo supera los 256 bytes antes incluso de codificar el netaddr4. encode_layoutstats() además escribe el deviceid4 y la palabra lou_type del layoutupdate4, ninguno de los cuales tiene en cuenta la macro.
El filehandle y la dirección son elegidos ambos por el servidor, a través de LAYOUTGET y GETDEVICEINFO, por lo que puede forzar al codificador más allá del final del buffer de envío. xdr_reserve_space() devuelve NULL una vez que ocurre esto, y las dos llamadas a ff_layout_encode_io_latency() se ejecutan con dss_info->mirror->lock retenido, por lo que un retorno NULL deja el lock retenido permanentemente.
Se eleva PNFS_LAYOUTSTATS_MAXSIZE a 384 para que el registro encaje dentro de la reserva asignada.
If you want to get best quality of vulnerability data, you may have to visit VulDB.