Linux Kernel hasta 5.12.4 kyber qspinlock.c __blk_mq_sched_bio_merge desbordamiento de búfer

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

Resumeninformación

Una vulnerabilidad clasificada como problemática fue encontrada en Linux Kernel hasta 5.12.4. Resulta afectada una función desconocida dentro del archivo /kernel/locking/qspinlock.c dentro del componente kyber. La alteración resulta en desbordamiento de búfer. Esta vulnerabilidad se conoce como CVE-2021-46984. Ningún exploit está disponible. Se recomienda actualizar el componente afectado.

Detallesinformación

Una vulnerabilidad ha sido encontrada en Linux Kernel hasta 5.12.4 (Operating System) y clasificada como problemática. La función __blk_mq_sched_bio_merge del archivo /kernel/locking/qspinlock.c del componente kyber es afectada por esta vulnerabilidad. Mediante la manipulación de un input desconocido se causa una vulnerabilidad de clase desbordamiento de búfer. Los efectos exactos de un ataque con éxito no son conocidos. CVE resume:

En el kernel de Linux, se resolvió la siguiente vulnerabilidad: kyber: corrige el acceso fuera de los límites cuando se adelanta __blk_mq_sched_bio_merge() obtiene el ctx y el hctx para la CPU actual y pasa el hctx a ->bio_merge(). kyber_bio_merge() luego obtiene nuevamente el ctx para la CPU actual y lo usa para obtener el contexto Kyber correspondiente en el hctx pasado. Sin embargo, el hilo puede ser reemplazado entre las dos llamadas a blk_mq_get_ctx(), y es posible que el ctx devuelto la segunda vez ya no corresponda al hctx pasado. Esto "funciona" accidentalmente la mayor parte del tiempo, pero puede hacer que leamos basura si el segundo ctx proviene de un hctx con más ctx que el primero (es decir, si ctx->index_hw[hctx->type] > hctx- >nr_ctx). Esto se manifestó como este error de índice de matriz UBSAN fuera de los límites informado por Jakub: UBSAN: array-index-out-of-bounds in ../kernel/locking/qspinlock.c:130:9 index 13106 is out of range for type ' long unsigned int [128]' Seguimiento de llamadas: dump_stack+0xa4/0xe5 ubsan_epilogue+0x5/0x40 __ubsan_handle_out_of_bounds.cold.13+0x2a/0x34 queued_spin_lock_slowpath+0x476/0x480 do_raw_spin_lock+0x1c2/0x1d0 kyber_bio_ fusionar+0x112/0x180 blk_mq_submit_bio+0x1f5/0x1100 submit_bio_noacct +0x7b0/0x870 submit_bio+0xc2/0x3a0 btrfs_map_bio+0x4f0/0x9d0 btrfs_submit_data_bio+0x24e/0x310 submit_one_bio+0x7f/0xb0 submit_extent_page+0xc4/0x440 __extent_writepage_io+0x2b8/0x5e0 __ extensión_writepage+0x28d/0x6e0 extensión_write_cache_pages+0x4d7/0x7a0 extensión_writepages+0xa2/0x110 do_writepages +0x8f/0x180 __writeback_single_inode+0x99/0x7f0 writeback_sb_inodes+0x34e/0x790 __writeback_inodes_wb+0x9e/0x120 wb_writeback+0x4d2/0x660 wb_workfn+0x64d/0xa10 Process_one_work+0x53a/0xa80 work_thread+0x69/0x5b0 kthread+0x20b/0x240 ret_from_fork+0x1f/0x30 solamente Kyber usa hctx, así que solucionelo pasando request_queue a ->bio_merge() en su lugar. BFQ y mq-deadline simplemente usan eso, y Kyber puede mapear las colas él mismo para evitar discrepancias.

La vulnerabilidad fue publicada el 2024-02-28 (confirmado). El advisory puede ser descargado de git.kernel.org. La vulnerabilidad es identificada como CVE-2021-46984. Hay detalles técnicos conocidos, pero no se dispone de un exploit.

Para el scanner Nessus se dispone de un plugin ID 207773 (Oracle Linux 8 : kernel (ELSA-2024-7000)), que puede ayudar a determinar la existencia del riesgo analizado.

Una actualización a la versión 5.4.120, 5.10.38, 5.11.22, 5.12.5 o 5.13 elimina esta vulnerabilidad. Aplicando el parche 0b6b4b90b74c/54dbe2d2c1fc/a287cd84e047/2ef3c76540c4/efed9a3337e3 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 (207773). If you want to get best quality of vulnerability data, you may have to visit VulDB.

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: 6.2
VulDB Puntuación meta temporal: 6.1

VulDB Puntuación base: 4.6
VulDB Puntuación temporal: 4.4
VulDB Vector: 🔍
VulDB Confiabilidad: 🔍

NVD Puntuación base: 7.8
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-129 / 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: 207773
Nessus Nombre: Oracle Linux 8 : kernel (ELSA-2024-7000)

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.4.120/5.10.38/5.11.22/5.12.5/5.13
Parche: 0b6b4b90b74c/54dbe2d2c1fc/a287cd84e047/2ef3c76540c4/efed9a3337e3

Línea de tiempoinformación

2024-02-27 🔍
2024-02-28 +1 días 🔍
2024-02-28 +0 días 🔍
2024-12-06 +282 días 🔍

Fuentesinformación

Proveedor: kernel.org

Aviso: git.kernel.org
Estado: Confirmado

CVE: CVE-2021-46984 (🔍)
GCVE (CVE): GCVE-0-2021-46984
GCVE (VulDB): GCVE-100-255010

Artículoinformación

Fecha de creación: 2024-02-28 10:42
Actualizado: 2024-12-06 17:12
Cambios: 2024-02-28 10:42 (43), 2024-02-28 10:45 (1), 2024-09-29 16:11 (17), 2024-12-06 17:12 (12)
Completo: 🔍
Cache ID: 216::103

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Discusión

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

Por favor, inicie sesión para comentar.

Do you need the next level of professionalism?

Upgrade your account now!