2024-10-10 14:03:23 +00:00

45 lines
3.4 KiB
JSON

{
"id": "CVE-2024-47660",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2024-10-09T14:15:07.730",
"lastModified": "2024-10-10T12:51:56.987",
"vulnStatus": "Awaiting Analysis",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nfsnotify: clear PARENT_WATCHED flags lazily\n\nIn some setups directories can have many (usually negative) dentries.\nHence __fsnotify_update_child_dentry_flags() function can take a\nsignificant amount of time. Since the bulk of this function happens\nunder inode->i_lock this causes a significant contention on the lock\nwhen we remove the watch from the directory as the\n__fsnotify_update_child_dentry_flags() call from fsnotify_recalc_mask()\nraces with __fsnotify_update_child_dentry_flags() calls from\n__fsnotify_parent() happening on children. This can lead upto softlockup\nreports reported by users.\n\nFix the problem by calling fsnotify_update_children_dentry_flags() to\nset PARENT_WATCHED flags only when parent starts watching children.\n\nWhen parent stops watching children, clear false positive PARENT_WATCHED\nflags lazily in __fsnotify_parent() for each accessed child."
},
{
"lang": "es",
"value": "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\u00f3n __fsnotify_update_child_dentry_flags() puede tardar una cantidad significativa de tiempo. Dado que la mayor parte de esta funci\u00f3n se realiza en inode->i_lock, esto provoca una contenci\u00f3n 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."
}
],
"metrics": {},
"references": [
{
"url": "https://git.kernel.org/stable/c/172e422ffea20a89bfdc672741c1aad6fbb5044e",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/3f3ef1d9f66b93913ce2171120d9226b55acd41d",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/7ef1d2e240c32b1f337a37232d037b07e3919e1a",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/d8c42405fc3507cc43ba7e4986a773c3fc633f6e",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/f9a48bc3dd9099935751458a5bbbea4b7c28abc8",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/fc1b1e135c3f72382f792e6c319fc088d5523ad5",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}