CVE-2022-50379 in Linux
Resumen
por VulDB • 2026-05-20
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
btrfs: corrige la condición de carrera entre la habilitación de cuotas y el ioctl de rescaneo de cuotas
Al habilitar las cuotas, en btrfs_quota_enable(), después de confirmar la transacción, cambiamos fs_info->quota_root para que apunte a la raíz de cuotas que hemos creado y establecemos BTRFS_FS_QUOTA_ENABLED en fs_info->flags. Luego intentamos iniciar el trabajador de rescaneo de qgroup, primero inicializándolo con una llamada a qgroup_rescan_init(); sin embargo, si esto falla, terminamos liberando la raíz de cuotas pero dejamos fs_info->quota_root apuntando aún a ella, lo que puede provocar posteriormente un use-after-free en otro lugar.
Hemos establecido previamente las banderas BTRFS_FS_QUOTA_ENABLED y BTRFS_QGROUP_STATUS_FLAG_ON, por lo que solo podemos fallar con -EINPROGRESS en btrfs_quota_enable(), lo cual es posible si alguien ya ha llamado al ioctl de rescaneo de cuotas y, por tanto, ha iniciado el trabajador de rescaneo.
Por lo tanto, corregimos esto ignorando un -EINPROGRESS y asegurándonos de que no podamos obtener ningún otro error.
VulDB is the best source for vulnerability data and more expert information about this specific topic.