FKIE_CVE-2026-23002
Vulnerability from fkie_nvd - Published: 2026-01-25 15:15 - Updated: 2026-01-26 15:03
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
lib/buildid: use __kernel_read() for sleepable context
Prevent a "BUG: unable to handle kernel NULL pointer dereference in
filemap_read_folio".
For the sleepable context, convert freader to use __kernel_read() instead
of direct page cache access via read_cache_folio(). This simplifies the
faultable code path by using the standard kernel file reading interface
which handles all the complexity of reading file data.
At the moment we are not changing the code for non-sleepable context which
uses filemap_get_folio() and only succeeds if the target folios are
already in memory and up-to-date. The reason is to keep the patch simple
and easier to backport to stable kernels.
Syzbot repro does not crash the kernel anymore and the selftests run
successfully.
In the follow up we will make __kernel_read() with IOCB_NOWAIT work for
non-sleepable contexts. In addition, I would like to replace the
secretmem check with a more generic approach and will add fstest for the
buildid code.
References
Impacted products
| Vendor | Product | Version |
|---|
{
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nlib/buildid: use __kernel_read() for sleepable context\n\nPrevent a \"BUG: unable to handle kernel NULL pointer dereference in\nfilemap_read_folio\".\n\nFor the sleepable context, convert freader to use __kernel_read() instead\nof direct page cache access via read_cache_folio(). This simplifies the\nfaultable code path by using the standard kernel file reading interface\nwhich handles all the complexity of reading file data.\n\nAt the moment we are not changing the code for non-sleepable context which\nuses filemap_get_folio() and only succeeds if the target folios are\nalready in memory and up-to-date. The reason is to keep the patch simple\nand easier to backport to stable kernels.\n\nSyzbot repro does not crash the kernel anymore and the selftests run\nsuccessfully.\n\nIn the follow up we will make __kernel_read() with IOCB_NOWAIT work for\nnon-sleepable contexts. In addition, I would like to replace the\nsecretmem check with a more generic approach and will add fstest for the\nbuildid code."
},
{
"lang": "es",
"value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\nlib/buildid: usar __kernel_read() para contexto \u0027sleepable\u0027\n\nPrevenir un \u0027BUG: unable to handle kernel NULL pointer dereference in filemap_read_folio\u0027.\n\nPara el contexto \u0027sleepable\u0027, convertir freader para usar __kernel_read() en lugar del acceso directo a la cach\u00e9 de p\u00e1ginas a trav\u00e9s de read_cache_folio(). Esto simplifica la ruta de c\u00f3digo \u0027faultable\u0027 al usar la interfaz est\u00e1ndar de lectura de archivos del kernel que maneja toda la complejidad de la lectura de datos de archivos.\n\nPor el momento no estamos cambiando el c\u00f3digo para el contexto \u0027non-sleepable\u0027 que usa filemap_get_folio() y solo tiene \u00e9xito si los folios objetivo ya est\u00e1n en memoria y actualizados. La raz\u00f3n es mantener el parche simple y m\u00e1s f\u00e1cil de \u0027backportear\u0027 a kernels estables.\n\nLa reproducci\u00f3n de Syzbot ya no bloquea el kernel y las pruebas autom\u00e1ticas se ejecutan con \u00e9xito.\n\nEn el seguimiento haremos que __kernel_read() con IOCB_NOWAIT funcione para contextos \u0027non-sleepable\u0027. Adem\u00e1s, me gustar\u00eda reemplazar la verificaci\u00f3n de secretmem con un enfoque m\u00e1s gen\u00e9rico y a\u00f1adir\u00e9 fstest para el c\u00f3digo buildid."
}
],
"id": "CVE-2026-23002",
"lastModified": "2026-01-26T15:03:33.357",
"metrics": {},
"published": "2026-01-25T15:15:55.070",
"references": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/568aeb3476c770a3863c755dd2a199c212434286"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/777a8560fd29738350c5094d4166fe5499452409"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/b11dfb7708f212b96c7973a474014c071aa02e05"
}
],
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"vulnStatus": "Awaiting Analysis"
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…