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 Apollo Federation (CVE-2024-43414)

Fecha de publicación:
27/08/2024
Idioma:
Español
Apollo Federation es una arquitectura para componer API de forma declarativa en un gráfico unificado. Cada equipo puede ser dueño de su porción del gráfico de forma independiente, lo que les permite realizar entregas de forma autónoma e incremental. Las instancias de @apollo/query-planner >=2.0.0 y <2.8.5 se ven afectadas por una vulnerabilidad de denegación de servicio. Las versiones de @apollo/gateway >=2.0.0 y <2.8.5 y Apollo Router <1.52.1 también se ven afectadas por el uso de @apollo/query-panner. Si se le pide a @apollo/query-planner que planifique una consulta suficientemente compleja, es posible que se repita infinitamente y nunca se complete. Esto da como resultado un consumo de memoria ilimitado y una falla o terminación por falta de memoria (OOM). Este problema puede desencadenarse si tiene al menos un campo que no sea @key y que pueda resolverse mediante varios subgrafos. Para identificar estos campos compartidos, se debe revisar el esquema de cada subgrafo. El mecanismo para identificar campos compartidos varía según la versión de Federación que estén utilizando sus subgrafos. Puede comprobar si sus subgrafos utilizan la Federación 1 o la Federación 2 revisando sus esquemas. Los esquemas de subgrafos de Federación 2 contendrán una directiva @link que hace referencia a la versión de Federación que se utiliza, mientras que los subgrafos de Federación 1 no. Por ejemplo, en un subgrafo de Federación 2, encontrará una línea como @link(url: "https://specs.apollo.dev/federation/v2.0"). Si una directiva @link similar no está presente en su esquema de subgrafo, está utilizando la Federación 1. Tenga en cuenta que un supergrafo puede contener una combinación de subgrafos de Federación 1 y Federación 2. Este problema se debe a que el planificador de consultas de Apollo intenta utilizar un número que excede el número de Javascript.MAX_VALUE en algunos casos. En Javascript, Number.MAX_VALUE es (2^1024 - 2^971). Cuando el planificador de consultas recibe una solicitud Graphql entrante, divide la consulta en partes y, para cada parte, genera una lista de posibles pasos de ejecución para resolver la parte. Estos candidatos representan los pasos que seguirá el planificador de consultas para satisfacer las partes de la consulta más grande. Como parte de las operaciones normales, el planificador de consultas requiere y calcula la cantidad de planes de consulta posibles para la consulta total. Es decir, necesita el producto del número de candidatos al plan de consulta para cada parte de la consulta. En circunstancias normales, después de generar todos los candidatos al plan de consulta y calcular el número de todas las permutaciones, el planificador de consultas pasa a clasificar los candidatos y eliminar las opciones menos óptimas. En consultas particularmente complejas, especialmente aquellas donde los campos se pueden resolver a través de múltiples subgrafos, esto puede hacer que el número de todas las permutaciones del plan de consulta aumente. En el peor de los casos, esto puede terminar siendo un número mayor que Number.MAX_VALUE. En Javascript, si se excede Number.MAX_VALUE, Javascript representa el valor como "infinito". Si el recuento de candidatos se evalúa como infinito, el componente del planificador de consultas responsable de eliminar los planes de consultas que no son óptimos en realidad no elimina los candidatos, lo que hace que el planificador de consultas evalúe muchos órdenes de magnitud más candidatos a planes de consultas de los necesarios. Este problema se solucionó en @apollo/query-planner v2.8.5, @apollo/gateway v2.8.5 y Apollo Router v1.52.1. Se recomienda a los usuarios que actualicen. Este problema se puede evitar asegurándose de que no haya campos que se puedan resolver en varios subgrafos. Si todos los subgrafos utilizan la Federación 2, puede confirmar que no se verá afectado asegurándose de que ninguno de sus esquemas de subgrafos utilice la directiva @shareable. --- TRUNCADO ----
Severidad: ALTA
Última modificación:
27/08/2024

Vulnerabilidad en Apollo Router Core (CVE-2024-43783)

Fecha de publicación:
27/08/2024
Idioma:
Español
Apollo Router Core es un enrutador de gráficos configurable y de alto rendimiento escrito en Rust para ejecutar un supergrafo federado que utiliza Apollo Federation 2. Las instancias del enrutador Apollo que ejecutan versiones >=1.21.0 y <1.52.1 se ven afectadas por una denegación de vulnerabilidad del servicio si _todo_ lo siguiente es verdadero: 1. El enrutador Apollo se ha configurado para admitir [coprocesamiento externo] (https://www.apollographql.com/docs/router/customizations/coprocessor). 2. El enrutador Apollo se ha configurado para enviar cuerpos de solicitud a los coprocesadores. Esta es una configuración no predeterminada y los administradores deben configurarla intencionalmente. Las instancias del enrutador Apollo que ejecutan las versiones >=1.7.0 y <1.52.1 se ven afectadas por una vulnerabilidad de denegación de servicio si se cumple todo lo siguiente: 1. El enrutador se ha configurado para utilizar un complemento Native Rust desarrollado a medida. 2. El complemento accede a Request.router_request en la capa RouterService. 3. Estás acumulando el cuerpo de Request.router_request en la memoria. Si utiliza una configuración afectada, el enrutador cargará cuerpos completos de solicitudes HTTP en la memoria sin respetar otras configuraciones que limitan el tamaño de las solicitudes HTTP, como limites.http_max_request_bytes. Esto puede provocar que el enrutador finalice por falta de memoria (OOM) si se envía una solicitud suficientemente grande al enrutador. De forma predeterminada, el enrutador establece límites.http_max_request_bytes en 2 MB. Si tiene una configuración afectada como se define anteriormente, actualice al menos a Apollo Router 1.52.1. Si no puede actualizar, puede mitigar la oportunidad de denegación de servicio que afecta a los coprocesadores externos configurando la opción de configuración coprocessor.router.request.body en falso. Tenga en cuenta que cambiar esta opción de configuración cambiará la información enviada a cualquier coprocesador que haya configurado y puede afectar la funcionalidad implementada por esos coprocesadores. Si ha desarrollado un complemento Native Rust y no puede actualizarlo, puede actualizar su complemento para no acumular el cuerpo de la solicitud o imponer un límite máximo de tamaño del cuerpo. También puede mitigar este problema limitando los tamaños de carga útil del cuerpo HTTP antes del enrutador (por ejemplo, en un proxy o dispositivo de firewall de aplicaciones web).
Severidad: ALTA
Última modificación:
27/08/2024

Vulnerabilidad en Webpack (CVE-2024-43788)

Fecha de publicación:
27/08/2024
Idioma:
Español
Webpack es un paquete de módulos. Su objetivo principal es agrupar archivos JavaScript para su uso en un navegador, pero también es capaz de transformar, agrupar o empaquetar casi cualquier recurso o activo. Los desarrolladores del paquete web han descubierto una vulnerabilidad de DOM Clobbering en `AutoPublicPathRuntimeModule` de Webpack. El gadget DOM Clobbering en el módulo puede conducir a cross site scripting (XSS) en páginas web donde están presentes elementos HTML controlados por atacantes sin secuencias de comandos (por ejemplo, una etiqueta `img` con un atributo `name` no desinfectado). Se ha observado una explotación de este dispositivo en el mundo real en Canvas LMS, lo que permite que se produzca un ataque XSS a través de un código javascript compilado por Webpack (la parte vulnerable es de Webpack). DOM Clobbering es un tipo de ataque de reutilización de código en el que el atacante primero incrusta un fragmento de marcas HTML aparentemente benignas y sin script en la página web (por ejemplo, a través de una publicación o comentario) y aprovecha los gadgets (fragmentos de código js) que se encuentran en el código javascript existente para transformarlo en código ejecutable. Esta vulnerabilidad puede provocar cross site scripting (XSS) en sitios web que incluyen archivos generados por Webpack y permiten a los usuarios inyectar ciertas etiquetas HTML sin secuencias de comandos con nombres o atributos de identificación desinfectados incorrectamente. Este problema se solucionó en la versión 5.94.0. Se recomienda a todos los usuarios que actualicen. No se conocen workarounds para este problema.
Severidad: MEDIA
Última modificación:
30/08/2024