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-46701)

Fecha de publicación:
13/09/2024
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: libfs: arregla lecturas de directorio infinitas para el directorio offset Después de cambiar las operaciones de directorio tmpfs de simple_dir_operations a simple_offset_dir_operations, cada cambio de nombre que se produzca llenará new dentry en el árbol de maple del directorio de destino (&SHMEM_I(inode)->dir_offsets->mt) con una clave libre que comienza con octx->newx_offset, y luego establece newx_offset igual a la clave libre + 1. Esto provocará una combinación de lectura de directorio infinita con el cambio de nombre ocurrido al mismo tiempo, lo que falla generic/736 en xfstests (los detalles se muestran a continuación). 1. crear 5000 archivos (1 2 3...) bajo un directorio 2. llamar a readdir(man 3 readdir) una vez, y obtener una entrada 3. renombrar(entrada, "TEMPFILE"), luego renombrar("TEMPFILE", entrada) 4. repetir 2~3 veces, hasta que readdir no devuelva nada o repetimos demasiadas veces (tmpfs interrumpe la prueba con la segunda condición) Elegimos la misma lógica que el commit 9b378f6ad48cf ("btrfs: arregla lecturas infinitas de directorio") para arreglarlo, registrar el last_index cuando abrimos el directorio, y no emitir la entrada cuyo índice >= last_index. El file->private_data que ahora se usa en el directorio de desplazamiento se puede usar directamente para hacer esto, y también actualizamos el last_index cuando buscamos el archivo dir. [brauner: solo actualizamos last_index después de la búsqueda cuando el desplazamiento es cero como sugirió Jan]
Severidad: Pendiente de análisis
Última modificación:
13/09/2024

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

Fecha de publicación:
13/09/2024
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: workqueue: Fix spruious data race in __flush_work() Al vaciar un elemento de trabajo para su cancelación, __flush_work() sabe que posee exclusivamente el elemento de trabajo a través de su bit PENDING. 134874e2eee9 ("workqueue: Allow cancel_work_sync() and disable_work() from atomic contexts on BH work items") agregó una lectura de @work->data para determinar si se debe usar la espera activa para los elementos de trabajo de BH que se están cancelando. Si bien la lectura es segura cuando @from_cancel, @work->data se leyó antes de probar @from_cancel para simplificar la estructura del código: data = *work_data_bits(work); if (from_cancel && !WARN_ON_ONCE(data & WORK_STRUCT_PWQ) && (data & WORK_OFFQ_BH)) { Si bien los datos leídos nunca se usaron si !@from_cancel, esto podría activar la detección de ejecución de datos de KCSAN de manera espuria: ====================================================================== ERROR: KCSAN: carrera de datos en __flush_work / __flush_work escribe en 0xffff8881223aa3e8 de 8 bytes por la tarea 3998 en la CPU 0: instrument_write include/linux/instrumented.h:41 [en línea] ___set_bit include/asm-generic/bitops/instrumented-non-atomic.h:28 [en línea] insert_wq_barrier kernel/workqueue.c:3790 [en línea] start_flush_work kernel/workqueue.c:4142 [en línea] __flush_work+0x30b/0x570 kernel/workqueue.c:4178 flush_work kernel/workqueue.c:4229 [en línea] ... leído hasta 0xffff8881223aa3e8 de 8 bytes por la tarea 50 en la CPU 1: __flush_work+0x42a/0x570 kernel/workqueue.c:4188 flush_work kernel/workqueue.c:4229 [en línea] flush_delayed_work+0x66/0x70 kernel/workqueue.c:4251 ... valor cambiado: 0x0000000000400000 -> 0xffff88810006c00d Reorganice el código para que @from_cancel se pruebe antes de acceder a @work->data. El único problema es que se activa la detección de KCSAN de manera espuria. Esto no debería necesitar READ_ONCE() ni otros calificadores de acceso. No hay cambios funcionales.
Severidad: Pendiente de análisis
Última modificación:
13/09/2024

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

Fecha de publicación:
13/09/2024
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: tty: serial: fsl_lpuart: marcar el último ocupado antes de uart_add_one_port Con "earlycon initcall_debug=1 loglevel=8" en bootargs, el kernel a veces se bloquea al iniciar. Esto se debe a que la consola normal aún no está lista, pero se llama a la suspensión en tiempo de ejecución, por lo que la consola temprana putchar se bloqueará esperando que se establezca TRDE en UARTSTAT. El controlador lpuart tiene un retraso de suspensión automática establecido en 3000 ms, pero durante uart_add_one_port, se agregará un dispositivo secundario serial ctrl y se sondeará con su tiempo de ejecución pm habilitado (consulte serial_ctrl.c). La ruta de la llamada a la suspensión en tiempo de ejecución es: device_add |-> bus_probe_device |->device_initial_probe |->__device_attach |-> pm_runtime_get_sync(dev->parent); |-> pm_request_idle(dev); |-> pm_runtime_put(dev->parent); Por lo tanto, al final, antes de que la consola normal esté lista, el tiempo de ejecución de lpuart get se suspende. Y el putchar de earlycon se bloquea. Para solucionar el problema, marque la última vez que está ocupado justo después de pm_runtime_enable; tres segundos son suficientes para cambiar de la consola de arranque a la consola normal.
Severidad: Pendiente de análisis
Última modificación:
13/09/2024