Vulnerabilidad en kernel de Linux (CVE-2023-52501)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-125
Lectura fuera de límites
Fecha de publicación:
02/03/2024
Última modificación:
13/01/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ring-buffer: no intente leer más allá del "commit" Al iterar sobre el búfer de anillo mientras el búfer de anillo está activo, el escritor puede dañar al lector. Existen barreras para ayudar a detectar esto y manejarlo, pero ese código omitió el caso en el que el último evento estaba al final de la página y solo le quedan 4 bytes. Las comprobaciones para detectar la corrupción por parte del escritor en las lecturas deben ver la duración del evento. Si la longitud de los primeros 4 bytes es cero, entonces la longitud se almacena en los segundos 4 bytes. Pero si el escritor está en el proceso de actualizar ese código, hay una pequeña ventana donde la longitud de los primeros 4 bytes podría ser cero aunque la longitud sea solo de 4 bytes. Eso hará que rb_event_length() lea los siguientes 4 bytes que podrían estar fuera de la página asignada. Para protegerse contra esto, falle inmediatamente si el siguiente puntero de evento está a menos de 8 bytes del final de el commit (último byte de datos), ya que todos los eventos deben tener un mínimo de 8 bytes de todos modos.
Impacto
Puntuación base 3.x
7.10
Gravedad 3.x
ALTA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.10.198 (excluyendo) | |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.134 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.56 (incluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.5.6 (incluyendo) |
cpe:2.3:o:linux:linux_kernel:6.6:rc1:*:*:*:*:*:* |
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/344f2f3e61a90f0150c754796ec9a17fcaeec03d
- https://git.kernel.org/stable/c/75fc9e99b3a71006720ad1e029db11a4b5c32d4a
- https://git.kernel.org/stable/c/95a404bd60af6c4d9d8db01ad14fe8957ece31ca
- https://git.kernel.org/stable/c/b08a4938229dbb530a35c41b83002a1457c6ff49
- https://git.kernel.org/stable/c/cee5151c5410e868826b8afecfb356f3799ebea3
- https://git.kernel.org/stable/c/344f2f3e61a90f0150c754796ec9a17fcaeec03d
- https://git.kernel.org/stable/c/75fc9e99b3a71006720ad1e029db11a4b5c32d4a
- https://git.kernel.org/stable/c/95a404bd60af6c4d9d8db01ad14fe8957ece31ca
- https://git.kernel.org/stable/c/b08a4938229dbb530a35c41b83002a1457c6ff49
- https://git.kernel.org/stable/c/cee5151c5410e868826b8afecfb356f3799ebea3