CVE-2023-52476 in Linux
Resumen
por MITRE • 2024-02-29
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.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.