Vulnerabilidad en kernel de Linux (CVE-2023-52476)
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
29/02/2024
Última modificación:
10/01/2025
Descripción
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: perf/x86/lbr: Filtrar direcciones vsyscall Descubrimos que puede ocurrir un pánico cuando se realiza una vsyscall mientras el muestreo LBR está activo. Si el VSYSCALL se interrumpe (NMI) para el muestreo de Perf, esta secuencia de llamadas puede ocurrir (más reciente en la parte superior): __insn_get_emulate_prefix () insn_get_emulate_prefix () insn_get_prefixes () insn_get_opcode () decode_branch_type () get_branch_type () _pmu_handle_irq () perf_event_nmi_handler ( ) Dentro de __insn_get_emulate_prefix() en el cuadro 0, se llama una macro: peek_nbyte_next(insn_byte_t, insn, i) Dentro de esta macro, se produce esta desreferencia: (insn)->next_byte Inspeccionando registros en este punto, el valor del campo next_byte es el dirección de vsyscall realizada, por ejemplo, la ubicación de la versión vsyscall de gettimeofday() en 0xffffffffff600000. El acceso a una dirección en la región vsyscall provocará un error debido a un error de página no controlado. Para corregir el error, se puede filtrar por vsyscalls al determinar el tipo de rama. Este parche devolverá una rama "ninguna" si se encuentra que una dirección del kernel se encuentra en la región vsyscall.
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.15.137 (excluyendo) | |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.59 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.5.8 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:6.6:rc1:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.6:rc2:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.6:rc3:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.6:rc4:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.6:rc5:*:*:*:*:*:* |
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/3863989497652488a50f00e96de4331e5efabc6c
- https://git.kernel.org/stable/c/403d201d1fd144cb249836dafb222f6375871c6c
- https://git.kernel.org/stable/c/e53899771a02f798d436655efbd9d4b46c0f9265
- https://git.kernel.org/stable/c/f71edacbd4f99c0e12fe4a4007ab4d687d0688db
- https://git.kernel.org/stable/c/3863989497652488a50f00e96de4331e5efabc6c
- https://git.kernel.org/stable/c/403d201d1fd144cb249836dafb222f6375871c6c
- https://git.kernel.org/stable/c/e53899771a02f798d436655efbd9d4b46c0f9265
- https://git.kernel.org/stable/c/f71edacbd4f99c0e12fe4a4007ab4d687d0688db