Vulnerabilidad en kernel de Linux (CVE-2021-47383)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-125
Lectura fuera de límites
Fecha de publicación:
21/05/2024
Última modificación:
23/09/2025
Descripción
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: tty: corrige el acceso vmalloc fuera de los límites en imageblit. Este problema ocurre cuando un programa de espacio de usuario realiza un ioctl FBIOPUT_VSCREENINFO pasando la estructura fb_var_screeninfo que contiene solo los campos xres, yres y bits_per_pixel con valores. Si esta estructura es la misma que la ioctl anterior, vc_resize() la detecta y no llama a resize_screen(), dejando fb_var_screeninfo incompleto. Y esto lleva a que updatecrollmode() calcule un valor incorrecto para fbcon_display->vrows, lo que hace que real_y() devuelva un valor incorrecto de y, y ese valor, eventualmente, hace que imageblit acceda a un valor de dirección fuera de los límites. . Para resolver este problema, hice que se llamara a resize_screen() incluso si la pantalla no necesita ningún cambio de tamaño, por lo que "arreglará y completará" fb_var_screeninfo de forma independiente.
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:*:*:*:*:*:*:*:* | 4.4.286 (excluyendo) | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.5 (incluyendo) | 4.9.285 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.10 (incluyendo) | 4.14.249 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.15 (incluyendo) | 4.19.209 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20 (incluyendo) | 5.4.151 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (incluyendo) | 5.10.71 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.14.10 (excluyendo) |
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/067c694d06040db6f0c65281bb358452ca6d85b9
- https://git.kernel.org/stable/c/3b0c406124719b625b1aba431659f5cdc24a982c
- https://git.kernel.org/stable/c/699d926585daa6ec44be556cdc1ab89e5d54557b
- https://git.kernel.org/stable/c/70aed03b1d5a5df974f456cdc8eedb213c94bb8b
- https://git.kernel.org/stable/c/7e71fcedfda6f7de18f850a6b36e78d78b04476f
- https://git.kernel.org/stable/c/883f7897a25e3ce14a7f274ca4c73f49ac84002a
- https://git.kernel.org/stable/c/8a6a240f52e14356386030d8958ae8b1761d2325
- https://git.kernel.org/stable/c/d570c48dd37dbe8fc6875d4461d01a9554ae2560
- https://git.kernel.org/stable/c/067c694d06040db6f0c65281bb358452ca6d85b9
- https://git.kernel.org/stable/c/3b0c406124719b625b1aba431659f5cdc24a982c
- https://git.kernel.org/stable/c/699d926585daa6ec44be556cdc1ab89e5d54557b
- https://git.kernel.org/stable/c/70aed03b1d5a5df974f456cdc8eedb213c94bb8b
- https://git.kernel.org/stable/c/7e71fcedfda6f7de18f850a6b36e78d78b04476f
- https://git.kernel.org/stable/c/883f7897a25e3ce14a7f274ca4c73f49ac84002a
- https://git.kernel.org/stable/c/8a6a240f52e14356386030d8958ae8b1761d2325
- https://git.kernel.org/stable/c/d570c48dd37dbe8fc6875d4461d01a9554ae2560



