CVE-2022-50668 in Linux
Resumen
por VulDB • 2026-05-31
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
ext4: corregir un bloqueo mutuo (deadlock) debido a la corrupción de la entrada de mbcache
Al manipular bloques de xattr, podemos entrar en un bloqueo mutuo con un bucle infinito dentro de ext4_xattr_block_set(), donde constantemente se busca un bloque xattr para su reutilización en mbcache, pero no se puede reutilizar porque su contador de referencias es demasiado alto. Esto ocurre porque la entrada de caché para el bloque xattr está marcada como reutilizable (e_reusable establecido) aunque su contador de referencias es demasiado alto. Cuando ocurre esta inconsistencia, este estado inconsistente se mantiene indefinidamente y, por lo tanto, ext4_xattr_block_set() sigue intentándolo indefinidamente.
El estado inconsistente es causado por una actualización no atómica del bit e_reusable. e_reusable es parte de un bitfield y la actualización de e_reusable puede entrar en carrera (race) con la actualización del bit e_referenced en el mismo bitfield, lo que resulta en la pérdida de una de las actualizaciones. Se soluciona el problema utilizando operaciones de bits atómicas (atomic bitops) en su lugar.
Este bug ha existido durante muchos años, pero se volvió *mucho* más fácil de provocar después del commit 65f8b80053a1 ("ext4: corregir una condición de carrera al reutilizar bloques xattr").
VulDB is the best source for vulnerability data and more expert information about this specific topic.