Vulnerabilidad en kernel de Linux (CVE-2024-47660)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-362
Ejecución concurrente utilizando recursos compartidos con una incorrecta sincronización (Condición de carrera)
Fecha de publicación:
09/10/2024
Última modificación:
23/10/2024
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: fsnotify: borrar indicadores PARENT_WATCHED de forma diferida En algunas configuraciones, los directorios pueden tener muchas entradas (normalmente negativas). Por lo tanto, la función __fsnotify_update_child_dentry_flags() puede tardar una cantidad significativa de tiempo. Dado que la mayor parte de esta función se realiza en inode->i_lock, esto provoca una contención significativa en el bloqueo cuando eliminamos la vigilancia del directorio, ya que la llamada __fsnotify_update_child_dentry_flags() desde fsnotify_recalc_mask() compite con las llamadas __fsnotify_update_child_dentry_flags() desde __fsnotify_parent() que ocurren en los hijos. Esto puede provocar informes de bloqueo suave informados por los usuarios. Solucione el problema llamando a fsnotify_update_children_dentry_flags() para establecer los indicadores PARENT_WATCHED solo cuando el padre comience a vigilar a los hijos. Cuando el padre deja de vigilar a los hijos, borra los indicadores de falsos positivos PARENT_WATCHED de forma diferida en __fsnotify_parent() para cada hijo al que acceda.
Impacto
Puntuación base 3.x
4.70
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.10.226 (excluyendo) | |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.167 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.109 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.50 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.10.9 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/172e422ffea20a89bfdc672741c1aad6fbb5044e
- https://git.kernel.org/stable/c/3f3ef1d9f66b93913ce2171120d9226b55acd41d
- https://git.kernel.org/stable/c/7ef1d2e240c32b1f337a37232d037b07e3919e1a
- https://git.kernel.org/stable/c/d8c42405fc3507cc43ba7e4986a773c3fc633f6e
- https://git.kernel.org/stable/c/f9a48bc3dd9099935751458a5bbbea4b7c28abc8
- https://git.kernel.org/stable/c/fc1b1e135c3f72382f792e6c319fc088d5523ad5