Vulnerabilidades

Con el objetivo de informar, advertir y ayudar a los profesionales sobre las ultimas vulnerabilidades de seguridad en sistemas tecnológicos, ponemos a disposición de los usuarios interesados en esta información una base de datos con información en castellano sobre cada una de las ultimas vulnerabilidades documentadas y conocidas.

Este repositorio con más de 75.000 registros esta basado en la información de NVD (National Vulnerability Database) – en función de un acuerdo de colaboración – por el cual desde INCIBE realizamos la traducción al castellano de la información incluida. En ocasiones este listado mostrará vulnerabilidades que aún no han sido traducidas debido a que se recogen en el transcurso del tiempo en el que el equipo de INCIBE realiza el proceso de traducción.

Se emplea el estándar de nomenclatura de vulnerabilidades CVE (Common Vulnerabilities and Exposures), con el fin de facilitar el intercambio de información entre diferentes bases de datos y herramientas. Cada una de las vulnerabilidades recogidas enlaza a diversas fuentes de información así como a parches disponibles o soluciones aportadas por los fabricantes y desarrolladores. Es posible realizar búsquedas avanzadas teniendo la opción de seleccionar diferentes criterios como el tipo de vulnerabilidad, fabricante, tipo de impacto entre otros, con el fin de acortar los resultados.

Mediante suscripción RSS o Boletines podemos estar informados diariamente de las ultimas vulnerabilidades incorporadas al repositorio.

Vulnerabilidad en kernel de Linux (CVE-2024-44943)

Fecha de publicación:
28/08/2024
Idioma:
Español
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: mm: gup: deja de abusar de try_grab_folio Se informó una advertencia del kernel al fijar folio en la memoria CMA al iniciar la máquina virtual SEV. El símbolo se ve así: [464.325306] ADVERTENCIA: CPU: 13 PID: 6734 en mm/gup.c:1313 __get_user_pages+0x423/0x520 [464.325464] CPU: 13 PID: 6734 Comm: qemu-kvm Kdump: cargado No contaminado 6.6. 33+ #6 [ 464.325477] RIP: 0010:__get_user_pages+0x423/0x520 [ 464.325515] Seguimiento de llamadas: [ 464.325520] [ 464.325523] ? __get_user_pages+0x423/0x520 [464.325528] ? __advertir+0x81/0x130 [ 464.325536] ? __get_user_pages+0x423/0x520 [464.325541] ? report_bug+0x171/0x1a0 [464.325549]? handle_bug+0x3c/0x70 [464.325554]? exc_invalid_op+0x17/0x70 [464.325558]? asm_exc_invalid_op+0x1a/0x20 [464.325567]? __get_user_pages+0x423/0x520 [ 464.325575] __gup_longterm_locked+0x212/0x7a0 [ 464.325583] internal_get_user_pages_fast+0xfb/0x190 [ 464.325590] pin_user_pages_fast+0x47/0x60 [ 4 64.325598] sev_pin_memory+0xca/0x170 [kvm_amd] [ 464.325616] sev_mem_enc_register_region+0x81/0x130 [kvm_amd ] Según el análisis realizado por yangge, al iniciar la máquina virtual SEV, llamará a pin_user_pages_fast(..., FOLL_LONGTERM, ...) para fijar la memoria. Pero la página está en el área CMA, por lo que el GUP rápido fallará y luego volverá a la ruta lenta debido a la verificación pinnalbe a largo plazo en try_grab_folio(). La ruta lenta intentará fijar las páginas y luego migrarlas fuera del área CMA. Pero la ruta lenta también usa try_grab_folio() para fijar la página, también fallará debido a la misma verificación y luego se activa la advertencia anterior. Además, se supone que try_grab_folio() se usa en la ruta rápida y eleva el recuento de folios usando add ref a menos que sea cero. Tenemos la garantía de tener al menos una referencia estable en una ruta lenta, por lo que se podría utilizar la adición atómica simple. La diferencia de rendimiento debería ser trivial, pero el mal uso puede resultar confuso y engañoso. Redefinió try_grab_folio() a try_grab_folio_fast() y try_grab_page() a try_grab_folio(), y utilícelos en las rutas adecuadas. Esto resuelve tanto el abuso como la advertencia del kernel. La denominación adecuada aclara su caso de uso y debería evitar abusos en el futuro. peterx dijo: El usuario verá que el pin falla, para gpu-slow activa aún más la ADVERTENCIA: justo debajo de ese error (como en el informe original): : : folio = try_grab_folio(page, page_increm - 1, : foll_flags); : if (WARN_ON_ONCE(!folio)) { <------------------------ aquí : /* : * Liberar la referencia de la primera página si : * El folio es problemático, falla mucho. : */ : gup_put_folio(page_folio(página), 1, : foll_flags); : ret = -EFALLO; : salir; : } [1] https://lore.kernel.org/linux-mm/1719478388-31917-1-git-send-email-yangge1116@126.com/ [shy828301@gmail.com: corrige la declaración implícita de la función try_grab_folio_fast ] Enlace: https://lkml.kernel.org/r/CAHbLzkowMSso-4Nufc9hcMehQsK9PNz3OSu-+eniU-2Mm-xjhA@mail.gmail.com
Severidad: Pendiente de análisis
Última modificación:
28/08/2024