{ "id": "CVE-2024-26630", "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "published": "2024-03-13T16:15:30.047", "lastModified": "2024-03-13T18:15:58.530", "vulnStatus": "Awaiting Analysis", "cveTags": [], "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmm: cachestat: fix folio read-after-free in cache walk\n\nIn cachestat, we access the folio from the page cache's xarray to compute\nits page offset, and check for its dirty and writeback flags. However, we\ndo not hold a reference to the folio before performing these actions,\nwhich means the folio can concurrently be released and reused as another\nfolio/page/slab.\n\nGet around this altogether by just using xarray's existing machinery for\nthe folio page offsets and dirty/writeback states.\n\nThis changes behavior for tmpfs files to now always report zeroes in their\ndirty and writeback counters. This is okay as tmpfs doesn't follow\nconventional writeback cache behavior: its pages get \"cleaned\" during\nswapout, after which they're no longer resident etc." }, { "lang": "es", "value": "En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: mm: cachestat: corrige read-after-free la publicaci\u00f3n en cache walk En cachestat, accedemos a la publicaci\u00f3n desde la matriz x de la cach\u00e9 de la p\u00e1gina para calcular su desplazamiento de p\u00e1gina y comprobar si est\u00e1 sucia y banderas de reescritura. Sin embargo, no mantenemos una referencia al folio antes de realizar estas acciones, lo que significa que el folio se puede liberar y reutilizar simult\u00e1neamente como otro folio/p\u00e1gina/losa. Evite esto por completo simplemente utilizando la maquinaria existente de xarray para los desplazamientos de p\u00e1ginas de folio y los estados sucios/de reescritura. Esto cambia el comportamiento de los archivos tmpfs para que ahora siempre informen ceros en sus contadores sucios y de reescritura. Esto est\u00e1 bien ya que tmpfs no sigue el comportamiento de cach\u00e9 de reescritura convencional: sus p\u00e1ginas se \"limpian\" durante el intercambio, despu\u00e9s del cual ya no residen, etc." } ], "metrics": {}, "references": [ { "url": "https://git.kernel.org/stable/c/3a75cb05d53f4a6823a32deb078de1366954a804", "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67" }, { "url": "https://git.kernel.org/stable/c/ba60fdf75e89ea762bb617be578dc47f27655117", "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67" }, { "url": "https://git.kernel.org/stable/c/fe7e008e0ce728252e4ec652cceebcc62211657c", "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67" } ] }