CVE-2026-31402
nfsd: corregir desbordamiento de montón en la caché de reproducción de LOCK de NFSv4.0
- Publicado
- 3 abr 2026
- Actualizado
- 8 sept 2026
- Asignación de CNA
- Linux
- Evidencia observada
- 19 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HBajo · próximos 30 días
- Percentil
- 59,2 %
- Fecha del modelo
- 21 sept 2026
EPSS es una estimación estadística, no una certeza o una medida de impacto. Combínelo con CVSS, estado KEV, exposición y su entorno.
Resumen
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: nfsd: corregir desbordamiento de montículo en la caché de repetición LOCK de NFSv4.0 La caché de repetición de NFSv4.0 utiliza un búfer en línea fijo de 112 bytes (rp_ibuf[NFSD4_REPLAY_ISIZE]) para almacenar respuestas de operaciones codificadas. Este tamaño se calculó basándose en respuestas OPEN y no tiene en cuenta las respuestas LOCK denegadas, que incluyen al propietario del bloqueo en conflicto como un campo de longitud variable de hasta 1024 bytes (NFS4_OPAQUE_LIMIT). Cuando una operación LOCK es denegada debido a un conflicto con un bloqueo existente que tiene un propietario grande, nfsd4_encode_operation() copia la respuesta codificada completa en el búfer de repetición de tamaño insuficiente a través de read_bytes_from_xdr_buf() sin verificación de límites. Esto resulta en una escritura fuera de límites de slab de hasta 944 bytes más allá del final del búfer, corrompiendo la memoria de montículo adyacente. Esto puede ser activado remotamente por un atacante no autenticado con dos clientes NFSv4.0 cooperantes: uno establece un bloqueo con una cadena de propietario grande, luego el otro solicita un bloqueo en conflicto para provocar la denegación. Podríamos corregir esto aumentando NFSD4_REPLAY_ISIZE para permitir un opaco completo, pero eso aumentaría el tamaño de cada propietario de estado, cuando la mayoría de los propietarios de bloqueo no son tan grandes. En su lugar, corregir esto verificando la longitud de la respuesta codificada contra NFSD4_REPLAY_ISIZE antes de copiarla en el búfer de repetición. Si la respuesta es demasiado grande, establecer rp_buflen en 0 para omitir el almacenamiento en caché de la carga útil de repetición. El estado aún se almacena en caché, y el cliente ya recibió la respuesta correcta en la solicitud original.
Fuentes
1- CVE-2026-31402Informativo
Uso responsable
Utilice información sobre vulnerabilidades solo en sistemas de su propiedad o que esté autorizado a probar. Kitploit enlaza con metadatos de investigación pública y no almacena código de explotación ni cargas útiles maliciosas.