2024-12-08 03:06:42 +00:00

53 lines
3.5 KiB
JSON

{
"id": "CVE-2024-40935",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2024-07-12T13:15:16.053",
"lastModified": "2024-11-21T09:31:54.253",
"vulnStatus": "Awaiting Analysis",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncachefiles: flush all requests after setting CACHEFILES_DEAD\n\nIn ondemand mode, when the daemon is processing an open request, if the\nkernel flags the cache as CACHEFILES_DEAD, the cachefiles_daemon_write()\nwill always return -EIO, so the daemon can't pass the copen to the kernel.\nThen the kernel process that is waiting for the copen triggers a hung_task.\n\nSince the DEAD state is irreversible, it can only be exited by closing\n/dev/cachefiles. Therefore, after calling cachefiles_io_error() to mark\nthe cache as CACHEFILES_DEAD, if in ondemand mode, flush all requests to\navoid the above hungtask. We may still be able to read some of the cached\ndata before closing the fd of /dev/cachefiles.\n\nNote that this relies on the patch that adds reference counting to the req,\notherwise it may UAF."
},
{
"lang": "es",
"value": "En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: cachefiles: vac\u00eda todas las solicitudes despu\u00e9s de configurar CACHEFILES_DEAD En modo bajo demanda, cuando el daemon est\u00e1 procesando una solicitud abierta, si el kernel marca el cach\u00e9 como CACHEFILES_DEAD, cachefiles_daemon_write() siempre devolver\u00e1: EIO, por lo que el daemon no puede pasar el copen al kernel. Luego, el proceso del n\u00facleo que est\u00e1 esperando el copen activa una tarea colgada. Dado que el estado DEAD es irreversible, solo se puede salir cerrando /dev/cachefiles. Por lo tanto, despu\u00e9s de llamar a cachefiles_io_error() para marcar el cach\u00e9 como CACHEFILES_DEAD, si est\u00e1 en modo bajo demanda, vac\u00ede todas las solicitudes para evitar la tarea suspendida anterior. Es posible que a\u00fan podamos leer algunos de los datos almacenados en cach\u00e9 antes de cerrar el fd de /dev/cachefiles. Tenga en cuenta que esto depende del parche que agrega el recuento de referencias al requisito; de lo contrario, puede ser UAF."
}
],
"metrics": {},
"references": [
{
"url": "https://git.kernel.org/stable/c/320ba9cbca78be79c912143bbba1d1b35ca55cf0",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/3bf0b8030296e9ee60d3d4c15849ad9ac0b47081",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/85e833cd7243bda7285492b0653c3abb1e2e757b",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/e73fac95084839c5178d97e81c6a2051251bdc00",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/320ba9cbca78be79c912143bbba1d1b35ca55cf0",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://git.kernel.org/stable/c/3bf0b8030296e9ee60d3d4c15849ad9ac0b47081",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://git.kernel.org/stable/c/85e833cd7243bda7285492b0653c3abb1e2e757b",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://git.kernel.org/stable/c/e73fac95084839c5178d97e81c6a2051251bdc00",
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
]
}