Descripción
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: ntfs: validar los offsets de atributos no residentes ntfs_attr_update_meta() desplaza el nombre del atributo al convertir entre atributos no dispersos (non-sparse) y dispersos (sparse). La conversión a disperso también agrega el campo compressed_size antes del nombre y de los mapping pairs, lo que requiere ocho bytes adicionales en el registro del atributo. Sin embargo, el validador no verifica que name_offset esté dentro de límites seguros para estas operaciones ni que el espacio adicional esté disponible. Un registro MFT malicioso podría establecer name_offset de modo que: 1. El nombre quede ubicado justo al final de un atributo no disperso. Convertirlo a disperso desplazaría el nombre 8 bytes hacia adelante, escribiendo más allá del límite del atributo. 2. El nombre se superponga con los mapping pairs, causando corrupción durante la conversión. Se agrega validación para asegurar que: - En atributos con nombre, name_offset esté dentro de límites válidos - El nombre no se extienda más allá del atributo ni se superponga con los mapping pairs - En atributos no dispersos y no comprimidos, haya ocho bytes disponibles después de mapping_pairs_offset para el campo compressed_size La verificación de espacio también cubre los atributos sin nombre, para los cuales name_offset = 0 es válido y no es necesario verificar un rango de nombre.
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: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 y anteriores a cd7b3dc7557faadeea626034e3bac68a449851ef · 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 y anteriores a a83e82b0ec3ae523028e24813f23f18b43e8fc1c · anteriores a 7.2.4
- Linux No afectadas: 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
- Referencia en git.kernel.orggit.kernel.org/stable/c/cd7b3dc7557faadeea626034e3bac68a449851ef
- Referencia en git.kernel.orggit.kernel.org/stable/c/a83e82b0ec3ae523028e24813f23f18b43e8fc1c
Ver el texto original en inglés (CVE.org)
ntfs: validate non-resident attribute offsets
In the Linux kernel, the following vulnerability has been resolved: ntfs: validate non-resident attribute offsets ntfs_attr_update_meta() shifts the attribute name when converting between non-sparse and sparse attributes. Converting to sparse also adds the compressed_size field before the name and mapping pairs, requiring eight additional bytes in the attribute record. However, the validator does not check that name_offset is within safe boundaries for these operations or that the additional space is available. A malicious MFT record could set name_offset such that: 1. The name is positioned at the very end of a non-sparse attribute. Converting to sparse would shift the name forward by 8 bytes, writing beyond the attribute boundary. 2. The name overlaps with the mapping pairs, causing corruption during conversion. Add validation to ensure: - For named attributes, name_offset is within valid bounds - Name does not extend beyond the attribute or overlap with mapping pairs - For non-sparse, non-compressed attributes, eight bytes are available after mapping_pairs_offset for the compressed_size field The space check also covers unnamed attributes, for which name_offset = 0 is valid and no name range needs to be checked.