Linux Kernel hasta 5.10.154/5.15.78/6.0.8 riscv of_reserved_mem_lookup desbordamiento de búfer

CVSS Puntuación meta temporalPrecio actual del exploit (≈)Puntuación de interés CTI
7.4$0-$5k0.00

Resumeninformación

Una vulnerabilidad fue encontrada en Linux Kernel hasta 5.10.154/5.15.78/6.0.8 y clasificada como crítica. Está afectada una función desconocida en el componente riscv. El manejo da lugar a desbordamiento de búfer. Esta vulnerabilidad se conoce como CVE-2022-49851. No se encuentra disponible ningún exploit. Se recomienda actualizar el componente afectado.

Detallesinformación

Una vulnerabilidad clasificada como crítica fue encontrada en Linux Kernel hasta 5.10.154/5.15.78/6.0.8. La función of_reserved_mem_lookup del componente riscv es afectada por esta vulnerabilidad. A través de la manipulación de un input desconocido se causa una vulnerabilidad de clase desbordamiento de búfer. Esto tiene repercusión sobre la confidencialidad, integridad y disponibilidad. El resumen de CVE es:

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: riscv: corrección de la configuración de memoria reservada Actualmente, RISC-V configura la memoria reservada utilizando la copia "temprana" del árbol de dispositivos. Como resultado, al intentar obtener una región de memoria reservada usando of_reserved_mem_lookup(), el puntero a las regiones de memoria reservadas usa la dirección anterior a la memoria virtual, lo que causa un pánico del kernel al intentar usar el nombre del búfer: Unable to handle kernel paging request at virtual address 00000000401c31ac Oops [#1] Módulos vinculados: CPU: 0 PID: 0 Comm: swapper Not tainted 6.0.0-rc1-00001-g0d9d6953d834 #1 Nombre del hardware: Microchip PolarFire-SoC Icicle Kit (DT) epc : string+0x4a/0xea ra : vsnprintf+0x1e4/0x336 epc : ffffffff80335ea0 ra : ffffffff80338936 sp : ffffffff81203be0 gp: ffffffff812e0a98 tp: ffffffff8120de40 t0: 0000000000000000 t1: ffffffff81203e28 t2: 7265736572203a46 s0: ffffffff81203c20 s1: ffffffff81203e28 a0: ffffffff81203d22 a1: 0000000000000000 a2: ffffffff81203d08 a3: 0000000081203d21 a4: ffffffffffffffff a5: 00000000401c31ac a6 : ffff0a00ffffff04 a7 : ffffffffffffffff s2 : ffffffff81203d08 s3 : ffffffff81203d00 s4 : 0000000000000008 s5 : ffffffff000000ff s6 : 0000000000ffffff s7 : 00000000ffffff00 s8 : ffffffff80d9821a s9 : ffffffff81203d22 s10: 000000000000002 s11: ffffffff80d9821c t3 : ffffffff812f3617 t4: ffffffff812f3617 t5: ffffffff812f3618 t6: ffffffff81203d08 estado: 0000000200000100 dirección incorrecta: 00000000401c31ac causa: 000000000000000d [] vsnprintf+0x1e4/0x336 [] vprintk_store+0xf6/0x344 [] vprintk_emit+0x56/0x192 [] vprintk_default+0x16/0x1e [] vprintk+0x72/0x80 [] _printk+0x36/0x50 [] print_reserved_mem+0x1c/0x24 [] paging_init+0x528/0x5bc [] setup_arch+0xd0/0x592 [] start_kernel+0x82/0x73c early_init_fdt_scan_reserved_mem() no toma argumentos ya que opera en initial_boot_params, que se completa con early_init_dt_verify(). En RISC-V, early_init_dt_verify() se llama dos veces: una directamente, en setup_arch() si CONFIG_BUILTIN_DTB no está habilitado, y otra indirectamente, en una fase muy temprana del proceso de arranque, mediante parse_dtb() al llamar a early_init_dt_scan_nodes(). Esta primera llamada utiliza dtb_early_va para establecer initial_boot_params, que no se puede utilizar posteriormente en el proceso de arranque cuando se llama a early_init_fdt_scan_reserved_mem(). En arm64, por ejemplo, la llamada correspondiente a early_init_dt_scan_nodes() utiliza direcciones fixmap y no sufre el mismo problema. Desplace early_init_fdt_scan_reserved_mem() más adelante en la secuencia de arranque, después de la llamada directa a early_init_dt_verify() en setup_arch() para que los nombres utilicen las direcciones de memoria virtual correctas. Lo anterior supuso que CONFIG_BUILTIN_DTB no estaba configurado, pero debería funcionar igualmente en el caso en que lo esté: unflatted_and_copy_device_tree() también actualiza initial_boot_params.

El advisory puede ser descargado de git.kernel.org. La vulnerabilidad es identificada como CVE-2022-49851. Resulta fácil de explotar. Detalles técnicos son conocidos, pero no hay ningún exploit público disponible.

Para el scanner Nessus se dispone de un plugin ID 250040 (Linux Distros Unpatched Vulnerability : CVE-2022-49851), que puede ayudar a determinar la existencia del riesgo analizado.

Una actualización a la versión 5.10.155, 5.15.79 o 6.0.9 elimina esta vulnerabilidad. Aplicando el parche 94ab8f88feb75e3b1486102c0c9c550f37d9d137/518e49f0590de66555503aabe199ba8d3f2e24ac/93598deb101540c4f9e7de15099ea8255b965fc2/50e63dd8ed92045eb70a72d7ec725488320fb68b es posible eliminar el problema. El parche puede ser descargado de git.kernel.org. El mejor modo sugerido para mitigar el problema es Actualización.

La vulnerabilidad también está documentado en la base de datos Tenable (250040). Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Productoinformación

Escribe

Proveedor

Nombre

Versión

Licencia

Sitio web

CPE 2.3información

CPE 2.2información

CVSSv4información

VulDB Vector: 🔍
VulDB Confiabilidad: 🔍

CVSSv3información

VulDB Puntuación meta base: 7.6
VulDB Puntuación meta temporal: 7.4

VulDB Puntuación base: 8.0
VulDB Puntuación temporal: 7.6
VulDB Vector: 🔍
VulDB Confiabilidad: 🔍

NVD Puntuación base: 7.1
NVD Vector: 🔍

CVSSv2información

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplejidadAutenticaciónConfidencialidadIntegridadDisponibilidad
DesbloquearDesbloquearDesbloquearDesbloquearDesbloquearDesbloquear
DesbloquearDesbloquearDesbloquearDesbloquearDesbloquearDesbloquear
DesbloquearDesbloquearDesbloquearDesbloquearDesbloquearDesbloquear

VulDB Puntuación base: 🔍
VulDB Puntuación temporal: 🔍
VulDB Confiabilidad: 🔍

Explotacióninformación

Clase: Desbordamiento de búfer
CWE: CWE-120 / CWE-119
CAPEC: 🔍
ATT&CK: 🔍

Físico: En parte
Local: Sí
Remoto: En parte

Disponibilidad: 🔍
Estado: No está definido

EPSS Score: 🔍
EPSS Percentile: 🔍

Predicción de precios: 🔍
Estimación del precio actual: 🔍

0-DayDesbloquearDesbloquearDesbloquearDesbloquear
HoyDesbloquearDesbloquearDesbloquearDesbloquear

Nessus ID: 250040
Nessus Nombre: Linux Distros Unpatched Vulnerability : CVE-2022-49851

Inteligencia de amenazasinformación

Interés: 🔍
Actores activos: 🔍
Grupos APT activos: 🔍

Contramedidasinformación

Recomendación: Actualización
Estado: 🔍

Hora de 0 días: 🔍

Actualización: Kernel 5.10.155/5.15.79/6.0.9
Parche: 94ab8f88feb75e3b1486102c0c9c550f37d9d137/518e49f0590de66555503aabe199ba8d3f2e24ac/93598deb101540c4f9e7de15099ea8255b965fc2/50e63dd8ed92045eb70a72d7ec725488320fb68b

Línea de tiempoinformación

2025-05-01 🔍
2025-05-01 +0 días 🔍
2025-05-01 +0 días 🔍
2025-11-11 +193 días 🔍

Fuentesinformación

Proveedor: kernel.org

Aviso: git.kernel.org
Estado: Confirmado

CVE: CVE-2022-49851 (🔍)
GCVE (CVE): GCVE-0-2022-49851
GCVE (VulDB): GCVE-100-306945

Artículoinformación

Fecha de creación: 2025-05-01 17:27
Actualizado: 2025-11-11 00:04
Cambios: 2025-05-01 17:27 (59), 2025-08-17 16:32 (2), 2025-11-11 00:04 (13)
Completo: 🔍
Cache ID: 216::103

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Discusión

Sin comentarios aún. Idiomas: es + pt + en.

Por favor, inicie sesión para comentar.

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!