Vulnerabilidad en kernel de Linux (CVE-2022-49221)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-476
Desreferencia a puntero nulo (NULL)
Fecha de publicación:
26/02/2025
Última modificación:
18/03/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm/msm/dp: rellenar el conector de struct dp_panel DP CTS caso de prueba 4.2.2.6 tiene un edid válido con suma de comprobación incorrecta a propósito y espera que la fuente DP devuelva la suma de comprobación correcta. Durante la lectura del edid de drm, se calcula la suma de comprobación del edid correcta y se almacena en connector::real_edid_checksum. El problema es que struct dp_panel::connector nunca se asigna, en su lugar el conector se almacena en struct msm_dp::connector. Cuando ejecutamos el caso de prueba de prueba de cumplimiento 4.2.2.6 dp_panel_handle_sink_request() no tendrá un edid válido establecido en struct dp_panel::edid, por lo que intentaremos usar el conector real_edid_checksum y nos encontraremos con un error de desreferencia de puntero NULL porque el puntero del conector nunca se asigna. Cambios en V2: -- rellenar el conector del panel en msm_dp_modeset_init() en lugar de en dp_panel_read_sink_caps() Cambios en V3: -- eliminar el texto de confirmación de seguimiento de fallos del núcleo que no es de ayuda -- eliminar el cambio de nombre del parámetro dp_display a dp Cambios en V4: -- añadir más detalles al texto de confirmación Cambios en v10: -- agrupar en una serie Cambios en v11: -- eliminar drm/msm/dp: dp_link_parse_sink_count() retorna inmediatamente si se lee aux. Firmado por: Kuogee Hsieh
Impacto
Puntuación base 3.x
5.50
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.10.67 (incluyendo) | 5.10.110 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.13.19 (incluyendo) | 5.14 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.14.6 (incluyendo) | 5.15.33 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 5.16.19 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.17 (incluyendo) | 5.17.2 (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/104074ebc0c3f358dd1ee944fbcde92c6e5a21dd
- https://git.kernel.org/stable/c/413c62697b61226a236c8b1f5cd64dcf42bcc12f
- https://git.kernel.org/stable/c/5e602f5156910c7b19661699896cb6e3fb94fab9
- https://git.kernel.org/stable/c/9525b8bcae8b99188990b56484799cf4b1b43786
- https://git.kernel.org/stable/c/fbba600f432a360b42452fee79d1fb35d3aa8aeb