Descripción
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: ntfs: limitar el recorrido del bitmap de clústeres libres al volumen vol->lcn_empty_bits_per_page se dimensiona a partir de vol->nr_clusters al montar, pero ntfs_cluster_alloc() limita su recorrido de ese arreglo según el tamaño de $Bitmap. Son cantidades independientes almacenadas en disco y la verificación al montar solo rechaza un $Bitmap demasiado pequeño, por lo que una imagen cuyo $Bitmap cubre más clústeres que los que tiene el volumen permite que el recorrido indexe más allá del arreglo. Un run cuyo LCN cae en ese espacio lleva al asignador directamente ahí, ya que quien lo invoca pasa el último LCN del propio archivo como indicación de localidad. KASAN reporta una lectura fuera de límites en slab cuando se extiende un archivo en un volumen de ese tipo. Se limita el recorrido a lo que cubre ese arreglo, replicando el cálculo de max_index que ya usa el recorrido al montar, y se rechaza en el decodificador de mapping pairs un LCN decodificado igual o mayor que nr_clusters. Los volúmenes conformes no se ven afectados.
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: 11ccc9107dc460de28af90fac1f42404d9802735 y anteriores a dc15a9f5307d5372aef3b64bf3ed7802f530c471 · 11ccc9107dc460de28af90fac1f42404d9802735 y anteriores a 19cac7902a8ab748e15f98ddaafcf5f8882be21d
- Linux Afectadas: 7.1 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/dc15a9f5307d5372aef3b64bf3ed7802f530c471
- Referencia en git.kernel.orggit.kernel.org/stable/c/19cac7902a8ab748e15f98ddaafcf5f8882be21d
Ver el texto original en inglés (CVE.org)
ntfs: bound the free-cluster bitmap scan to the volume
In the Linux kernel, the following vulnerability has been resolved: ntfs: bound the free-cluster bitmap scan to the volume vol->lcn_empty_bits_per_page is sized from vol->nr_clusters at mount, but ntfs_cluster_alloc() bounds its scan of that array by the size of $Bitmap. Those are independent on-disk quantities and the mount-time check only rejects a $Bitmap that is too small, so an image whose $Bitmap covers more clusters than the volume has lets the scan index past the array. A run whose LCN lies in that gap takes the allocator straight there, since the caller passes the file's own last LCN as its locality hint. KASAN reports a slab out-of-bounds read when a file on such a volume is extended. Clamp the scan to what that array covers, mirroring the max_index calculation the mount-time scan already uses, and reject a decoded LCN at or beyond nr_clusters in the mapping pairs decoder. Conforming volumes are unaffected.