Fuentes verificadas al 23 de octubre de 2026 (UTC) Período de cobertura: del 25 de julio al 23 de octubre de 2026, centrándose en nuevos anuncios y parches posteriores de septiembre a octubre. Audiencia: ingenieros y personal de seguridad que mantienen servicios, contenedores y entornos de desarrollo Node.js, Java, Python.

Este artículo resume los riesgos de seguridad importantes recientes en los tiempos de ejecución Node.js, Java y Python, bibliotecas estándar y dependencias y marcos de servidores comunes, y proporciona alcance de impacto, versiones corregidas, medidas de mitigación temporales, selección de parches y métodos de verificación.

Evalúe el impacto en comparación con las versiones de los componentes, las funciones habilitadas y los puntos de entrada accesibles. Los datos de vulnerabilidad provienen de avisos oficiales; las fechas se refieren a divulgación pública a menos que se indique explícitamente un lanzamiento de parche anterior. No inferimos condiciones de explotación no confirmadas, puntuaciones CVSS o explotación en la naturaleza. El asesoramiento sobre implementación se identifica como guía de implementación.

TL;DR: prioridades de remediación

  1. Actualice primero el tiempo de ejecución que realmente aloja el servicio. Actualice la rama Node.js correspondiente al menos a 22.23.4/24.22.1/26.12.1. Los servicios que utilizan Node 24 pueden actualizarse a 24.22.1 dentro de la misma versión principal o una versión posterior que contenga las mismas correcciones. S1S2
  2. Actualice las dependencias de la aplicación Node por separado. Para Next.js, utilice 15.5.28/16.4.1 como base de actualización; cuando utilice React Server Components de forma independiente, verifique el paquete react-server-dom-* instalado actualmente. Sólo la actualización del binario Node no cubre estas vulnerabilidades del marco. S8S9S10S11S12
  3. Java: cubre ambas rondas de actualizaciones. Instale una compilación de proveedor que cubra la corrección de confianza del certificado de emergencia del 20 de octubre CPU y del 21 de octubre CVE-2026-91403. Consulte la sección 2.2 para versiones fuera de banda Oracle JDK 11-27; verifique otras distribuciones con sus propios paquetes de seguridad y números de compilación completos. Actualice la rama Tomcat correspondiente a 9.0.123 / 10.1.61 / 11.0.27. S16S17S18S20S21S22S23
  4. Python : actualice el intérprete, los paquetes de aplicaciones y los paquetes de certificados por separado. Ver sección 2.3 para líneas de base de intérpretes; certifi recomienda ≥ 2026.10.19 , pip ≥ 26.2.2 , al usar uv ≥ 0.13.4 . Es necesario comprobar todos los venv existentes. Para wrap_bio() códigos relacionados, correctos y no vacíos server_hostname También se debe pasar. S29 S30 S31 S33 S35 S36 S37
  5. Si es imposible realizar una actualización inmediata, reduzca la exposición en los puntos de entrada relevantes. Priorice detener la decodificación de Brotli que no sea de confianza, el procesamiento de imagen/paginación/archivo afectado y aísle el LDAP o las entradas de autenticación problemáticas; manteniendo verificados los certificados TLS y los nombres de host. El WAF entrante no puede cubrir rutas salientes, como aplicaciones que obtienen respuestas comprimidas maliciosas. S3S11S25S27S30S32
  6. Reconstruir, reemplazar procesos antiguos y verificar a través de rutas de servicio reales. Guarde el archivo de bloqueo y el resumen de imágenes, reconstruya la aplicación y la imagen, implemente reemplazos para todos los trabajadores/JVM/contenedores; verifique el proceso real, el árbol de dependencia, el almacén de confianza y las pruebas de regresión empresarial. Una versión más reciente de la línea de comandos por sí sola no establece que la corrección esté completa.
  7. Si se instaló o ejecutó LiteLLM 1.107.0, siga los procedimientos de respuesta a incidentes. El proyecto confirmó el compromiso de la versión el 21 de octubre. Aísle los entornos afectados, investigue desde un entorno limpio, reconstruya y rote las credenciales expuestas. No inicie Python/pip en un entorno sospechoso para comprobarlo primero. Consulte la Sección 9 para obtener más detalles. S41

1. Descripción general de la vulnerabilidad y evaluación de riesgos

1.1 Priorizar la remediación por exposición real

Las prioridades de implementación a continuación son una guía de implementación. Las etiquetas de gravedad siguen a cada proveedor, incluida la clasificación Important de Apache. CVSS 3.1 y 4.0 son sistemas de puntuación diferentes; no clasifique los problemas según su puntuación únicamente.

Ecosistema / capaCuestiones claveCalificación oficial o puntaje verificadoDespliegue prioritario
Dependencia nativa Node.jsCVE-2026-111497: Brotli está escrito fuera de límites y existe el riesgo de RCENode:HighDecodificar datos Brotli S1S3 en el cuerpo de la solicitud externa o la respuesta externa
Node.js TLS / DNSCVE-2026-105482, 105483, 106069: El análisis y la verificación de identidad son inconsistentesHighRastreo URL, proxy, Webhook, dirección de destino dinámica S1S5S6
Node.js HTTP/2CVE-2026-56846, 56848: Memoria agotada y UAFHighNode maneja directamente el tráfico HTTP/2 que no es de confianza S7
React / Next.jsRSC / use cache typed arrays RCECritical;CVSS 4.0 9.5Servidor RSC, componentes de caché relacionados y ruta de datos S9S10
Next.js Optimización de imagenCVE-2026-96889: SVG Procesamiento de imágenes RCECritical;CVSS 4.0 9.5Instancias en glibc Linux que pueden manejar imágenes que no son de confianza S11
Next.js Server ActionsLa solicitud especialmente diseñada hace que se agote CPUHigh;CVSS 4.0 8.2App Router y al menos un Server Action S12
Java TLS ConfianzaCVE-2026-91403: Continuar confiando en el intermediario afectado CACVSS 3.1 9.1TLS/API Escenario S17 usando la cadena de confianza afectada
TomcatOmisión de autenticación JNDIRealm, confusión de solicitudes cruzadas HTTP/2, fuga de respuesta AJPImportantCorrespondiente a Realm / Connector / async Servlet ruta S21S22S23
Spring for GraphQLCVE-2026-59285: Deserialización de paginación RCEHighJackson 2 + Connection Paginación + Classpath explotable S25
Spring SecurityCVE-2026-59270: Identidad de administración conocida LDAP integrada expuestaCriticalEl LDAP integrado está habilitado y el atacante puede acceder al puerto de escucha S27
CPython sslCVE-2026-19445: El contexto de cambio de SNI da como resultado UAFCriticalPython termina TLS por sí solo y cumple con la condición del ciclo de vida del contexto S29
CPython sslCVE-2026-19553: Omitir la verificación cuando falta el nombre de hostHighwrap_bio() / Falta el nombre de host esperado de la llamada asincio relacionada S30
CPython tarfileCVE-2026-82049: Bypass de combinación de enlace físico y enlace simbólicoHighExtraer automáticamente el archivo tar que no es de confianza S32
Django / GeoDjangoCVE-2026-15307: archivo de escritura de consulta espacial, SSRF, bajo la condición RCEHighConsultas espaciales o interfaces de administración relacionadas que aceptan entradas que no son de confianza S38
Dependencia del certificado Pythoncertifi: desconfianza en certificados relacionados con emSignCritical; GHSA, ninguno conocido CVELa herramienta de administración de paquetes y cliente TLS S36S37 todavía usa el CA bundle afectado

Abreviaturas: RCE significa ejecución remota de código, UAF significa uso después de la liberación y SSRF significa falsificación de solicitudes del lado del servidor. Los permisos directos de RCE suelen ser los permisos del proceso que aloja la aplicación y no pueden ser equivalentes automáticamente a los permisos raíz.

Secuencia recomendada: primero maneja RCE, que es accesible externamente y cumple con las condiciones, omisión de autenticación, fuga de datos entre usuarios y problemas de autenticación de certificados; al mismo tiempo, programe actualizaciones para el punto de entrada público DoS. No es necesario ejecutar cargas útiles de ataque en producción para demostrar la explotabilidad. Existen dependencias, las rutas de código son accesibles y se cumplen las condiciones de ataque. Estas son tres cuestiones que deben comprobarse por separado.

1.2 Tres límites que se confunden fácilmente

  • Actualice los tiempos de ejecución y las dependencias por separado. Las actualizaciones de seguridad para Node, JDK, CPython no reparan automáticamente las instalaciones independientes de Next.js, Spring, Django, certifi o extensiones nativas.
  • El umbral de corrección es independiente de la línea base de implementación actual. No se garantiza que el primer parche para una vulnerabilidad en agosto cubra nuevos problemas de septiembre a octubre; La sección 2 utiliza actualizaciones posteriores verificadas como objetivo de implementación.
  • Distinguir una vulnerabilidad de un compromiso real de la cadena de suministro. Para las vulnerabilidades comunes, los parches eliminan rutas de ataque futuras; cuando se ejecutan paquetes maliciosos, es necesario investigar el impacto de las credenciales y la persistencia. El LiteLLM de la Sección 9 es el evento confirmado oficialmente. S41

La existencia de explotación confirmada en la naturaleza debe basarse en divulgaciones oficiales. El vendedor no mencionó las actividades de explotación y no puede probar que no hubo ningún ataque; La corrección debe realizarse en función de la superficie de ataque real.

2. Comprobación rápida de la versión fija y la línea base de implementación

Referencia: 2.1 Node.js、React、Next.js

componente/ramaLínea base de versión recomendadaInstrucciones de uso
Node.js 22.x22.23.4Lanzamiento de seguridad S1S2 del 21 de octubre
Node.js 24.x24.22.1Se aplica a la rama 24.x; 24.22.0 no contiene el parche de seguridad del 21 de octubre S1S2
Node.js 26.x26.12.1Versión de seguridad en el mismo lote S1S2
Node.js 20 y sucursales anterioresMigrar a una sucursal compatibleNode 20 no acepta esta solución ascendente; el soporte extendido del proveedor debe verificarse por separado S3
Next.js 15.x15.5.28Actualizado el 14 de octubre S8
Next.js 16.x16.4.1Igual que el anterior S8
Sucursal independiente RSC 19.0 / 19.1 / 19.2 / 19.319.0.9 / 19.1.10 / 19.2.9 / 19.3.1Verifique los tres paquetes react-server-dom-* por separado; no solo mire la capa superior react S10
Next realmente cargó sharp≥0.35.5Condiciones oficiales de solución temporal para la vulnerabilidad SVG; no reemplaza otros parches Next.js S11

Node enumera oficialmente las ramas de mantenimiento afectadas por la vulnerabilidad de octubre, pero no proporciona la versión del parche introducido inicialmente elemento por elemento, por lo que la versión inicial precisa de cada vulnerabilidad no se puede determinar basándose únicamente en el rango de ramas de mantenimiento. Al implementar, dé prioridad al uso de la versión anterior de la misma rama o una versión posterior confirmada que contiene las mismas correcciones.

2.2 Java: Octubre CPU más actualización de certificado fuera de banda

Esta tabla se aplica a Oracle JDK. La segunda columna cubre sólo el CPU del 20 de octubre; el tercero incluye el lanzamiento fuera de banda del 21 de octubre. Las versiones CPU por sí solas no cubren todos los riesgos de Java discutidos aquí. S16S17S18

rama20 de octubre CPUOracle lanzado fuera de banda el 21 de octubre
1111.0.3311.0.33.0.2
1717.0.2117.0.21.0.2
2121.0.1321.0.13.0.2
2525.0.525.0.5.0.2
2727.0.127.0.1.0.2
88u511La tabla de lanzamiento público todavía muestra 8u511; Se debe verificar la compilación de seguridad específica y la reparación de la cadena de confianza, y no se puede determinar basándose únicamente en el número de versión corta.

**Java 8 debe compararse con la información de compilación completa:**Oracle La alerta enumera 8u511 como una versión afectada y la lista de versiones enumera las actualizaciones posteriores con el mismo nombre corto. El estado del parche no se puede distinguir basándose únicamente en el número de versión corta “8u511”. Debe confirmar la compilación de seguridad específica y las correcciones de la cadena de confianza. S17S18

Temurin, Corretto, Zulu, Microsoft Build of OpenJDK, versión de lanzamiento OpenJDK, etc., verifique de acuerdo con sus respectivos anuncios y números completos de paquete/compilación. Por ejemplo, el registro de lanzamiento oficial de Adoptium indica que la compilación se vuelve a empaquetar para agregar la corrección eMudhra; el mismo nombre de la versión anterior no significa que el contenido del paquete sea el mismo. Las reglas de sufijo .0.2 para Oracle no se pueden aplicar automáticamente a otros editores. S20

Componentes de la aplicación JavaLínea base de versión recomendadaObservaciones
Tomcat 9 / 10.1 / 119.0.123 / 10.1.61 / 11.0.27Consulta sucursal por sucursal; Tomcat 10.0 ha detenido el mantenimiento S21S22S23
Spring for GraphQL 2.0.x2.0.5(OSS)El soporte comercial también es 2.0.4.1 S25
Spring Security 7.1 / 7.07.1.1 / 7.0.7(OSS)Corresponde a la versión de arreglo mínimo anunciada en agosto; debe consultar el boletín de seguridad posterior S27S28 antes de la implementación.
Spring Security 6.5 / 6.4 / 5.8 / 5.76.5.12 / 6.4.19 / 5.8.28 / 5.7.26El anuncio figura como una solución de soporte comercial; La migración se evalúa cuando no hay soporte correspondiente y no se puede asumir que Maven Central esté disponible de forma gratuita S27.

Las actualizaciones de Spring deben respetar la versión mínima Spring Boot BOM, Java del proyecto y las líneas de compatibilidad. No fuerce directamente todos los módulos Spring al mismo número solo para obtener un parche.

2.3 CPython, Django y dependencias de certificados

La segunda columna de la siguiente tabla se centra en el problema TLS divulgado en septiembre; las diferencias de rama para tarfile se muestran en la sección 5.3.. Las versiones del 21 de octubre también actualizaron las herramientas de certificado incluidas, por lo que la última columna incluye las líneas base de implementación posteriores. S29S30S33S35

Rama CPythonVersión mínima del lote de seguridad de septiembreLínea base de implementación recomendada
3.103.10.22Última versión desde arriba, EOL; organizar la migración o verificar la compatibilidad con la extensión de lanzamiento S34
3.113.11.173.11.17 y actualice pip/certifi en cada entorno individualmente
3.123.12.153.12.15 y actualice pip/certifi en cada entorno individualmente
3.133.13.163.13.17
3.143.14.83.14.9
3.15La versión final de 3.15.0 incluye las correcciones de TLS y S31S47.3.15.1

Las versiones de seguridad ascendentes de 3.11 y 3.12 solo pueden publicarse en código fuente; cuando utilice el paquete del sistema operativo, consulte el aviso de backport del proveedor y la versión completa del paquete, y no es necesario reemplazar por la fuerza el sistema Python con una versión autocompilada. S33S34

dependencia independienteLínea base de versión recomendadaDescripción
Django 5.2 / 6.0 / 6.15.2.18 / 6.0.9 / 6.1.2Incorporar corrección posterior S38S39 del 6 de octubre
certifi≥2026.10.19El parche inicial GHSA es .18; PSF recomienda .19 para preservar la compatibilidad de los certificados no afectados S36S37
pip≥26.2.2La copia integrada de certifi debe actualizarse por separado S35S37
uv (si se usa)≥0.13.4Actualice S37 según el método de instalación real

Estas líneas de base cubren las correcciones enumeradas. El 22 de octubre se reveló otro problema de gravedad media en tar_filter. Al 23 de octubre de 2026, aún no se ha confirmado una versión de mantenimiento oficial que contenga esta solución; por lo tanto, no se puede considerar que 3.13.17 / 3.14.9 / 3.15.1 hayan cubierto todos los problemas de archivos tar. Ver Sección 5.4. S40

2.4 Verificando backports de distribución

Principios de implementación aplicables a Ubuntu, Debian, RHEL y otros paquetes de software:

  1. Registre la versión del sistema operativo, la fuente del repositorio, la versión completa del paquete y el número del boletín de seguridad del proveedor.
  2. Confirme que el aviso cubra el CVE específico e identifique un paquete fijo para la versión de distribución correspondiente.
  3. Compare los binarios/bibliotecas cargados por el proceso en ejecución real, no solo la versión corta ascendente.
  4. Cuando no haya evidencia de un parche del proveedor, déjelo “por confirmar” y no lo tome como la única conclusión de que el número de versión parece antiguo o nuevo.

Existen diferencias en las versiones del paquete apt/RPM y las estrategias de backport de diferentes distribuciones. Debe prevalecer el boletín de seguridad y la versión completa del paquete de cada distribución.

3. Ecosistema Node.js / JavaScript: Análisis de Causas y remediación

3.1 CVE-2026-111497: escritura fuera de límites del decodificador nativo Brotli

Divulgación: 2026-10-21; Node grado oficial: High. Las compilaciones afectadas de Node 22.x, 24.x, 26.x requieren que se instale la sección de parche 2.1. Node El anuncio no incluye una puntuación numérica CVSS. S1

El problema ocurre en la lógica de decodificación nativa cuando se maneja el flujo comprimido Brotli con formato incorrecto, lo que puede provocar escrituras fuera de límites. La descripción oficial de Vercel confirma que la demostración de la investigación implica pérdidas de memoria de proceso y ejecución de comandos. Que un atacante pueda llegar al decodificador depende de si la aplicación o la dependencia realmente decodifica los datos que controla. S3

Es necesario comprobar ambas direcciones al mismo tiempo:

  • inbound: el marco o middleware descomprime automáticamente el cuerpo de solicitud Brotli enviado por el usuario.
  • **saliente:**HTTP Los clientes, capturadores de imágenes, etc. acceden a fuentes controlables por el atacante y descomprimen automáticamente el contenido devuelto.

Deshabilitar la compresión Brotli de las respuestas enviadas a los navegadores no elimina un punto de entrada de decodificación. La protección entrante WAF tampoco cubre aplicaciones que obtienen y decodifican respuestas externas. S3

**Dirección del parche:**Node Mueva la corrección ascendente Brotli a la dependencia nativa y complemente la verificación del estado de decodificación ilegal y la propagación de errores. Al mantener una versión autocompilada, debe utilizar la versión de seguridad oficial o el parche completo de la rama correspondiente. No puede simplemente cambiar la declaración de versión de un paquete JavaScript. S4

Sugerencias de implementación provisional: detener la decodificación innecesaria de Brotli que no es de confianza; comprobar el comportamiento de descompresión automática del middleware y del cliente HTTP; Si la empresa debe aceptar este formato, complete el procesamiento en el entorno parcheado lo antes posible. Ajustar Accept-Encoding es simplemente un acto de negociación y no debe considerarse por sí solo como prueba de que se ha bloqueado una respuesta maliciosa.

3.2 TLS / DNS tres High: el objeto de verificación no coincide con el objetivo real

Los tres fueron revelados el 21 de octubre, con el umbral de actualización oficial establecido en la Sección 2.1. S1.

IdentificadorProblema confirmadoRamas afectadas
CVE-2026-105482dns.resolve Truncamiento de nombres que contienen NUL22.x / 24.x / 26.x
CVE-2026-105483IP en formato numérico de ancho completo hace que se omita la verificación del nombre de host del certificado24.x / 26.x
CVE-2026-106069El nombre de host que puede interpretarse libremente como IP da como resultado la omisión de verificación TLS22.x / 24.x / 26.x

DNS La esencia del problema es que la cadena verificada por la capa superior es diferente del nombre realmente analizado por la capa inferior. El parche oficial rechaza NUL en la entrada de análisis y agrega cobertura de regresión. S6

TLS Dos elementos implican la normalización de nombres, la coherencia de la interpretación de IP y la coincidencia de certificados. Parche para que la entrada IP no estándar se rechace o se maneje correctamente para evitar confundir el punto final IP real con la identidad del dominio del certificado. S5

Sugerencias de solución de problemas reales para : da prioridad a verificar el código del usuario receptor URL, el destino del proxy dinámico o la dirección Webhook; estandarización unificada y evaluación de la lista de permitidos, rechaza NUL/caracteres de control, confirma que los nombres de dominio legales IPv4, IPv6 y internacionalizados aún funcionan. Para saber si SSRF puede formarse más requiere la aplicación de evidencia de vínculo, que no se puede deducir directamente del nombre CVE.

No utilice NODE_TLS_REJECT_UNAUTHORIZED=0 o rejectUnauthorized: false para eliminar errores de suma de comprobación posteriores a la actualización. Se debe corregir la dirección, el certificado y la configuración comercial.

3.3 julio HTTP/2 High: problemas con el modelo de permisos y riesgos

Las siguientes cuestiones reveladas en julio aún deben incluirse en la investigación. Se recomienda utilizar directamente la versión base de seguridad de octubre en la Sección 2.1 al realizar la implementación. S7

CVECausas y efectosPrimera versión fija
CVE-2026-56846El bloque HTTP/2 header retenido no está incluido correctamente en el presupuesto maxSessionMemory y puede agotar la memoria; Impacto 22.x / 24.x22.23.2 / 24.18.1
CVE-2026-56848HTTP/2 vuelve a ingresar a la ruta de envío durante la recopilación de paquetes, lo que genera un montón UAF; impacto 22.x / 24.x / 26.x22.23.2 / 24.18.1 / 26.5.1
CVE-2026-58043--permission La coincidencia del límite del prefijo de ruta es demasiado amplia y se puede acceder a archivos fuera de la lista permitida.Igual que las tres líneas de mantenimiento anteriores.

Los tres son oficialmente High. Los dos primeros elementos dan prioridad a comprobar si HTTP/2 es procesado por el propio Node; el tercer elemento solo tiene el significado correspondiente cuando se utiliza el modelo de permiso y se basa en este límite. No todos los elementos del modelo de permiso pueden describirse como red RCE que no requiere autenticación. S7

Terminar temporalmente HTTP/2 en un proxy actualizado e independiente y limitar las fuentes de backend es una opción de implementación para reducir la exposición; las cuotas de recursos solo pueden controlar las consecuencias del agotamiento de los recursos y no pueden parchear UAF.

3.4 Octubre React / Next.js: dos artículos RCE y un artículo DoS

A. Funciones RCE en RSC / use cache que devuelven matrices escritas

Fecha de publicación: 2026-10-14; Critical, CVSS 4.0 9.5. Identificadores oficiales de aviso:

  • React:GHSA-xqc2-xf4c-x3h3。
  • Next.js:GHSA-673q-mjm6-r5xr。S9S10

El problema ascendente React implica múltiples matrices escritas combinadas con valores controlables por el atacante en la respuesta RSC. Las tres versiones del paquete react-server-dom-* afectadas son 19.0.0—19.0.8, 19.1.0—19.1.9, 19.2.0—19.2.8, 19.3.0; consulte el capítulo Sección 2.1. React del lado del navegador puro, o aplicaciones que no utilizan marcos/complementos que admitan RSC en absoluto, no entran dentro del alcance de este artículo. S10

Next.js listas de anuncios posteriores 16.0.0—16.4.0, revisado en 16.4.1; el escenario son las funciones App Router, Cache Components y use cache que devuelven múltiples matrices escritas. No existe una solución alternativa oficial confiable y los usuarios de las versiones afectadas deben actualizar a tiempo. No es apropiado confiar simplemente en búsquedas manuales de “esta función no parece existir” para finalizar el procesamiento. S9

Referencia: B. SVG Image Optimization RCE

CVE-2026-96889/GHSA-2464-fhr4-w9xw, 2026-10-14, Critical, CVSS 4.0 9.5. El problema ocurre en la biblioteca nativa ascendente utilizada para la optimización de imágenes. Los funcionarios señalaron que el riesgo RCE existe en el escenario glibc Linux. S11

Los campos de la versión oficial son:

  • >=10.0.0 <=15.5.27;
  • >16.0.0 <=16.4.0。

El funcionario utiliza un límite inferior estricto de >16.0.0 para la rama 16.x, pero esta declaración de rango no es suficiente para demostrar que 16.0.0 es seguro. El objetivo de actualización real es uniformemente 15.5.28 / 16.4.1. S11

La solución temporal oficial es garantizar que Next realmente cargue nítido ≥0.35.5. Es posible que los archivos de bloqueo, las dependencias anidadas y las imágenes de implementación aún contengan instancias antiguas, por lo que simplemente agregar una nueva versión de la dependencia sharp en el nivel superior no es suficiente; el árbol de dependencia final debe verificarse y reconstruirse. S11

C. Server Actions CPU agotado

**GHSA-p3m5-59mp-jv5r, 2026-10-14, High, CVSS 4.0 8.2.**Next afecta a 13.0.0—15.5.27, 16.0.0—16.4.0, corrige 15.5.28 /16.4.1. Las condiciones son App Router y al menos un Server Action; Las solicitudes maliciosas pueden mantener ocupado a CPU durante mucho tiempo, bloqueando solicitudes posteriores en el mismo proceso. Las aplicaciones con Pages Router o sin Server Actions no se ven afectadas por esto. S12

No existe ninguna solución alternativa oficial que pueda reemplazar la actualización. Los límites de velocidad, los límites de concurrencia y las cuotas de recursos pueden reducir el daño, pero no pueden utilizarse como conclusión para la verificación de parches.

3.5 Next.js anterior en la misma ventana Problema grave

Los siguientes elementos tienen como objetivo evitar que falten implementaciones que aún estén bloqueadas en las versiones anteriores a agosto y septiembre; No se recomienda pasar ahora a los umbrales de corrección antiguos en la tabla.

FechaIdentificador/escenarioPrimera solución; acción actual
2026-08-25GHSA-2xp9-vwfh-vxw4: Biblioteca nativa de optimización de imágenes AVIF RCE, Critical15.5.24 / 16.3.3; ahora 15.5.28 / 16.4.1 S13
2026-08-25CVE-2026-75604: RCE, Critical cuando Pages Router y App Router se usan simultáneamente en Windows y Cache Components no está habilitado; versiones >=13.4.0 <15.5.24, >=16.0.0 <16.3.315.5.24 / 16.3.3; Linux/macOS no se ve afectado por este problema específico de Windows S14
2026-09-22GHSA-vcvr-r3jv-pc5j: la ruta de generación de imágenes Node en procesos next/og que no son de confianza SVG, Critical; 16.2.0—16.3.516.3.6; la implementación de Edge está fuera del alcance de este problema y 15.x no es una rama afectada para este RCE S15

4. Ecosistema Java: la confianza en tiempo de ejecución, los contenedores y los marcos se manejan por separado

4.1 JDK: CPU y CVE-2026-91403 regulares son actualizaciones de dos niveles

La matriz de riesgos Java SE para Oracle CPU del 20 de octubre enumera 55 nuevos parches de seguridad, 49 de los cuales están marcados como explotables en la red sin autenticación. Esto no significa que haya 55 Critical, ni que haya 49 rutas RCE directamente explotables para cada servicio web Java; debe entenderse junto con los componentes, las API, las interacciones del usuario y las condiciones de implementación en la matriz. S16

El CVE-2026-91403 (CVSS 3.1 9.1) del día siguiente trata de otro tipo de riesgo: un conjunto de CA intermedios relacionados con el evento eMudhra en el que ya no se confía. Afecta la autenticación de pares TLS y la confidencialidad/integridad de la comunicación y no puede describirse como una vulnerabilidad de corrupción de memoria JVM. S17

El aviso Oracle enumera la versión lanzada el 20 de octubre como afectada, por lo que también es necesario instalar la actualización fuera de banda del 21 de octubre. Consulte la sección 2.2 para conocer la versión específica. GraalVM también tiene los productos afectados correspondientes y la versión reparada debería estar sujeta a su boletín de seguridad exclusivo. S17S18

Medidas oficiales temporales: Primero haga una copia de seguridad y luego elimine el certificado raíz especificado de cada almacén de confianza realmente utilizado:

  • emSign ECC Root CA - G3, alias de Oracle emsigneccrootcag3 [jdk].
  • AAA Certificate Services, alias de Oracle comodoaaaca [jdk]. S19

JDK 11 y posteriores, el ejemplo oficial es:

keytool -delete -cacerts -alias "emsigneccrootcag3 [jdk]"
keytool -delete -cacerts -alias "comodoaaaca [jdk]"

Utilice keytool del objetivo JDK para estos comandos y confirme que estén funcionando en el almacén de confianza real de la aplicación. Java 8 utiliza la ruta correspondiente a jre/lib/security/cacerts; La personalización del almacén de confianza se debe gestionar por separado y otros editores pueden tener alias diferentes. La eliminación del certificado raíz ampliará el alcance del rechazo y realizará pruebas de regresión en las cadenas de certificados de servicios legítimos. S19

El funcionario también ofrece la opción de habilitar la verificación de revocación, pero el efecto depende de la implementación real de TLS, la accesibilidad del servicio de revocación y la estrategia de falla. Para implementaciones generales, priorice la instalación de actualizaciones completas del proveedor para evitar tratar dos conmutadores JVM como evidencia de que todas las bibliotecas TLS se han reparado.

4.2 Tomcat: omisión de autenticación y aislamiento de solicitudes entre usuarios

Los siguientes tres artículos fueron publicados el 2026-10-20; la entrada de la versión reparada tiene fecha O12 de octubre. El grado oficial de Apache es Important. S21S22S23

CVEVersiones afectadas confirmadasEscenarios/resultados necesarios
CVE-2026-1012969.0.0.M1—9.0.122;10.1.0-M1—10.1.60;11.0.0-M1—11.0.26JNDIRealm Configura un mecanismo de autenticación SASL que no es GSSAPI, falta la verificación de credenciales y también pueden pasar contraseñas incorrectas
CVE-2026-1013569.0.118—9.0.122;10.1.55—10.1.60;11.0.22—11.0.26El error de servlet asíncrono de HTTP/2 al manejar incorrectamente recicla/reutiliza objetos, lo que provoca que las solicitudes o respuestas se mezclen entre los usuarios
CVE-2026-103119Solo confirmar 11.0.0-M25—11.0.26Las escrituras grandes sin bloqueo AJP pueden causar una lectura insuficiente del búfer, exponiendo los datos de respuesta anteriores en solicitudes posteriores.

La solución correspondiente es 9.0.123 / 10.1.61 / 11.0.27; AJP solo aparece como Tomcat 11 según el anuncio y no se puede expandir a tres ramas con el mismo problema. S21S22S23

El parche JNDIRealm corrige una brecha de verificación en el proceso de autenticación real, donde “la interfaz de inicio de sesión de la aplicación parece normal” no se puede utilizar en lugar de la verificación. Realm, se deben verificar los mecanismos SASL para verificar la configuración real del servicio y las pruebas deben fallar en busca de contraseñas incorrectas. S24

Sugerencias de implementación provisional: aislar la ruta de autenticación afectada; suspender el procesamiento de HTTP/2 de Tomcat cuando el negocio lo permita; cerrar inútil AJP. Restringir únicamente el acceso directo al puerto AJP no puede demostrar que el tráfico que ingresa a través del proxy frontal legal no se verá afectado. Después de la actualización oficial, se deben probar las solicitudes simultáneas asincrónicas de dos usuarios independientes para confirmar que no haya conversaciones cruzadas entre identidades y respuestas.

Referencia: 4.3 Spring for GraphQL:CVE-2026-59285

Fecha de publicación: 2026-08-20; High. afectado 2.0.0—2.0.4, reparado 2.0.5 (OSS) o 2.0.4.1 (soporte comercial). S25

Este es un riesgo de deserialización inseguro en consultas de paginación. El requisito oficial es que se deben cumplir las siguientes condiciones al mismo tiempo:

  1. Utilice Spring for GraphQL.
  2. Deserializar JSON usando Jackson 2.x.
  3. Proporcionar campo de paginación de conexión al mundo exterior.
  4. El classpath contiene clases específicas que pueden realizar una lógica inesperada durante la creación de instancias o la deserialización.

Una solicitud GraphQL maliciosa puede causar RCE cuando se cumplen las condiciones. No se puede reducir a “todos los programas Java que utilizan Jackson pueden ser explotados”. S25

Por qué 2.0.4 es insuficiente: En junio, CVE-2026-41699 había proporcionado líneas base de parches como 2.0.4, y en agosto el anuncio incluía claramente a 2.0.4 en el nuevo alcance de influencia. Por lo tanto, el registro de reparación debe actualizarse de acuerdo con anuncios posteriores y no se puede utilizar la versión mínima del antiguo CVE. S26

Cuando la actualización no está disponible temporalmente, se pueden suspender los campos de paginación afectados a los que pueden acceder personas que no son de confianza; Reducir los tipos deserializables y las rutas de clases es una medida en profundidad. Las regresiones deben cubrir cursores legales, resultados paginados y rechazos de entradas de excepciones, y verificar las versiones reales de los componentes dentro del JAR de la aplicación final.

4.4 Spring Security: CVE-2026-59270 y riesgos de autenticación relacionados

CVE-2026-59270, 2026-08-20, Critical. El UnboundIdContainer integrado registra las credenciales de administrador conocidas de forma predeterminada y escucha en todas las interfaces de red. Cuando el componente está habilitado y se puede acceder al puerto, un atacante puede leer o modificar datos del directorio; Los proyectos que generalmente introducen Spring Security no expondrán automáticamente LDAP. S27

Área afectada:

ramaafectadoPrimer canal de reparación/adquisición
7.17.1.07.1.1 OSS; también comercial 7.1.0.1
7.07.0.0—7.0.67.0.7 OSS; también comercial 7.0.6.1
6.5 / 6.46.5.0—6.5.11;6.4.0—6.4.186.5.12/6.4.19, comercial
5.8 / 5.75.8.0—5.8.27;5.7.0—5.7.255.8.28/5.7.26, comercial

Fuente: S27. Solucionar problemas de configuración automática spring.ldap.embedded.* y código de instanciación directa; cierre el componente cuando no sea necesario para la producción y verifique la dirección de escucha real. Cuando la empresa realmente lo necesite, primero limite las fuentes de llamadas y luego complete la actualización del componente.

**RProblema de autenticación relacionado: CVE-2026-47841 (High).**WebAuthn La autenticación de usuario está configurada en REQUIRED y, después de que el almacenamiento distribuido serialice la sesión HTTP, la comparación incorrecta de la identidad del objeto puede invalidar el requisito de autenticación. El ataque también requiere que el atacante tenga posesión del dispositivo de autenticación del usuario, no un inicio de sesión remoto arbitrario sin un dispositivo. Para las versiones afectadas correspondientes de 7.1, 7.0, 6.5 y 6.4, la línea base del parche es consistente con estas ramas en la tabla anterior; La verificación debe cubrir sesiones entre nodos y aún requerir PIN/verificación biométrica. S28

5. Ecosistema Python: intérprete, biblioteca estándar, marco y certificados

5.1 CVE-2026-19445: SSLContext UAF en devolución de llamada SNI

Fecha de publicación: 2026-09-30; PSF Nivel: Critical. En el servidor Python TLS, sni_callback cambia la conexión a otro SSLContext, y cuando el contexto original no tiene otras referencias supervivientes, el cliente TLS no autenticado puede bloquear el servicio o llamar a un puntero en un objeto liberado. S29

El núcleo es que el objeto Python es inconsistente con el ciclo de vida de devolución de llamada subyacente TLS. El contexto original se ha liberado y es posible que la capa subyacente aún mantenga el estado requerido para la devolución de llamada; Es necesario utilizar el parche nativo del intérprete para corregir el ciclo de vida de referencia. S47

Scope: El código Python que solo actúa como cliente TLS no se ve afectado por este elemento; el modo normal del conector de escucha que mantiene el contexto original durante mucho tiempo no cae en la ruta de falla específica descrita en el anuncio. Después de que Nginx termina TLS, solo entrega el HTTP local a Python, y Python maneja directamente SNI por sí mismo, que es una superficie de ataque diferente. S29

Correspondiente a la versión fija 3.10—3.14, consulte la sección 2.3.. La versión oficial de 3.15 ha sido reparada y realmente se puede seleccionar 3.15.1. Sólo la actualización de la dependencia pip no puede reemplazar la implementación _ssl del intérprete. S33S35S47

OMitigación temporal oficial: mantiene fuertes referencias a todos los SSLContext que han configurado la devolución de llamada SNI hasta el final del ciclo de vida del servidor. Esto debe cubrir las rutas reales de creación y conmutación dinámicas; la compilación personalizada de OpenSSL 1.1.1 también debe verificar las condiciones de renegociación junto con el registro de emisión oficial y dar prioridad a las actualizaciones completas. S29S47

5.2 CVE-2026-19553: El indicador de nombre de host está activado, pero falta el nombre de host al llamar

Fecha de publicación: 2026-09-30; High. CuandoSSLContext.check_hostname=True, si wrap_bio() no se pasa en server_hostname, la implementación original puede omitir silenciosamente la verificación del nombre de host. La verificación exitosa de la cadena de certificados no significa que el nombre de dominio de destino también haya coincidido. S30

La remediación requiere ambos pasos:

  • Instale la versión de seguridad del intérprete que figura en la sección 2.3..
  • Verifique wrap_bio(), rutas relacionadas asyncio.create_connection() / loop.start_tls(), pase explícitamente el nombre de host esperado y no vacío y mantenga activada la verificación del certificado. S30

**Diferencias de compatibilidad que no se pueden omitir:**3.10, 3.11, 3.12 son por compatibilidad, solo se emite DeprecationWarning para algunos casos en los que falta el nombre de host; 3.13 y posteriores aumentan ValueError. El backport 3.12 también distingue claramente None de las cadenas vacías: se agrega una nueva advertencia para None y todavía se informa un error para las cadenas vacías. Por lo tanto, los usuarios de sucursales bajas no pueden asumir que la verificación del nombre de dominio que faltaba originalmente se ha restaurado automáticamente simplemente mediante la actualización. S31S33

En un entorno de prueba, utilice un certificado de cadena de confianza con un nombre de host que no coincida y confirme que el cliente TLS de la aplicación real lo rechace. La simple lectura del valor booleano check_hostname no constituye una aceptación completa.

5.3 CVE-2026-82049: Bypass de combinación de enlaces en el filtro tarfile

Fecha de publicación: 2026-09-14; High. En CPython 3.13 e implementaciones relacionadas anteriores, la combinación de enlaces duros y enlaces simbólicos en tar que no es de confianza puede omitir el filtro de extracción data / tar, exponiendo el contenido de los archivos fuera del directorio de descomprimido en el árbol de descomprimido, o modificando sus permisos y modificaciones. veces. S32

Los impactos confirmados de esta vulnerabilidad incluyen la exposición del contenido de los archivos y la modificación de metadatos; Estos impactos por sí solos no son suficientes para demostrar la sobrescritura arbitraria del contenido del archivo externo o la implementación incondicional de RCE.

Para conocer las bases de referencia del parche correspondientes de 3.10—3.13, consulte la sección 2.3. Python 3.14 ha estado exento de este problema específico debido a cambios de comportamiento de os.link() desde 3.14.0b1, por lo que el alcance afectado de la rama 3.10—3.13 anterior no se aplica. S33

Medidas temporales y en profundidad: suspender la extracción automática de archivos que no son de confianza; utilice procesos de trabajo aislados con bajos privilegios y nuevos directorios exclusivos cuando se deban procesar negocios, deniegue enlaces simbólicos, enlaces duros y entradas de dispositivos por negocio, y limite la cantidad de archivos y recursos de descompresión. Estas son recomendaciones de implementación.

filter="data" es más adecuado para archivos generales que no son de confianza que la estrategia de plena confianza, pero el filtro en sí en la versión anterior también tiene esta vulnerabilidad, y agregar este parámetro por sí solo no puede reemplazar la actualización. El filtro tampoco es un entorno limitado de sistema de archivos completo. S32S45

5.4 Riesgo suplementario: CVE-2026-114583 (Medium) y estado de lanzamiento del parche

PSF reveló en 2026-10-22 que el procesamiento de nombres de enlaces específicos por parte de tarfile.tar_filter se puede omitir, lo que permite a los miembros posteriores escribir fuera del directorio de descompresión, con un nivel de Medium. La solución oficial PR se fusionó ese día; A partir del 23 de octubre de 2026, no se ha confirmado ninguna versión de mantenimiento oficial que contenga esta confirmación. S40

Por lo tanto:

  • Este artículo aparece por separado como Medium.
  • No se puede considerar que las versiones de intérprete publicadas el 21 de octubre hayan incluido esta solución.
  • El proceso que todavía utiliza filter="tar" para manejar archivos que no son de confianza debe realizar un seguimiento del backport de lanzamiento; aislar o suspender esta ruta de procesamiento por un corto período de tiempo. Al cambiar a data y rechazar enlaces, también debe confirmar que cumple con los requisitos comerciales, y cambiar el filtro no puede describirse como una zona de pruebas incondicional.

5.5 GeoDjango: CVE-2026-15307 y correcciones posteriores en octubre

2026-08-04, Django La consulta espacial oficial High. pasa implícitamente ciertas cadenas/diccionarios a GDALRaster, y el controlador puede escribir archivos o iniciar solicitudes de red; RCE se puede formar cuando existen rutas específicas y condiciones de ejecución posteriores. El personal con permisos de visualización del modelo de campo espacial también puede acceder a esta ruta a través de la lista de cambios del administrador. S38

La solución inicial es 5.2.17/6.0.8, que restringe los tipos de entrada aceptados por las búsquedas espaciales. Este cambio puede afectar el negocio original de usar cadenas/diccionario para expresar ráster; simplemente incluir entradas que no son de confianza en GDALRaster no significa verificarlas. S38

El 6 de octubre, se reparó CVE-2026-87890 (Moderado): VRT expresado en bytes puede hacer referencia a recursos externos y aún activa solicitudes de red; el mismo día, también se reforzó la protección de la geometría anidada DoS de CVE-2026-15830. Los dos últimos no se pueden actualizar para describir el nuevo RCE de alto riesgo, pero indican que la línea base de implementación debe ser 5.2.18 / 6.0.9 / 6.1.2. S39

La implementación verifica los dos puntos de entrada de la API y la interfaz de administración, restringe la búsqueda espacial no confiable, los permisos de escritura de archivos y el acceso saliente; después de la actualización, pruebas de regresión de consultas espaciales válidas y rechazo de entradas prohibidas. Las aplicaciones Django ordinarias que no utilizan GeoDjango no deberían aplicar directamente esta conclusión de RCE.

5.6 certifi / pip: La confianza del certificado debe cubrir cada copia

GHSA-6q48-6c7w-9gw2, 2026-10-20, Critical, conocido CVE no listado. Esta es la actualización de desconfianza del certificado causada por el incidente eMudhra intermedio CA. No se puede resumir en el mecanismo de criptografía de HTTPS o en que todos los certificados raíz hayan sido descifrados. S36

El aviso certifi originalmente incluía 2026.10.18 como parche; Posteriormente, PSF recomendó explícitamente 2026.10.19 para preservar la compatibilidad con los certificados raíz no afectados. La línea base operativa es .19. S36S37

Necesidad de distinguir:

Ubicación del material de confianza¿Por qué necesitas verificar por separado?
Paquete de sistema operativo CAMaterial de confianza del sistema para la imagen o el host
certifi en venvCA bundle realmente utilizado por aplicaciones o Solicitudes, etc.
pip incorporado certifiEs una copia diferente a la certifi instalada externamente.
uv / Otras herramientas de embalajeSiga las actualizaciones propias de la herramienta y las fuentes confiables.
Archivos CA personalizados, instantáneas empaquetadasPuede continuar anulando fuentes confiables predeterminadas para sistemas o paquetes

Lo anterior es una lista de verificación basada en diferentes ubicaciones de embalaje. PSF requiere actualizar las herramientas relacionadas, los entornos virtuales existentes y reconstruir la imagen; Sólo actualizar el host CA o reinstalar el intérprete no puede demostrar que se hayan actualizado todas las copias. S35S37

Al actualizar desde el antiguo arranque seguro pip, PSF proporciona los comandos para fixed wheel y SHA-256; consulte el apéndice S37. No desactive la verificación TLS ni agregue --trusted-host para evitar problemas de certificados.

6. Proceso de remediación formal

Los siguientes comandos son para entornos confiables confirmados. Al ejecutar, el administrador de paquetes existente, el archivo de bloqueo y el proceso de implementación del proyecto deben combinarse para evitar mezclar npm/pnpm/yarn o pip/uv/Poetry para generar archivos de bloqueo conflictivos.

Maneje una excepción primero: Si sospecha que el entorno ha ejecutado el paquete comprometido en la Sección 9, aíslelo primero y verifique el disco, el archivo de bloqueo y el registro de imagen desde un entorno limpio; No ejecute primero el siguiente comando Python/pip. S41

6.1 Establezca un libro de contabilidad que pueda corresponder al tráfico real

Cada servicio registra al menos:

  • Punto de entrada externo, proxy inverso, ruta de conexión directa al sitio de origen y cola en segundo plano/tareas programadas.
  • El comando de inicio real, la cuenta en ejecución, la ruta binaria, el proceso o la identidad del contenedor.
  • Versión completa en tiempo de ejecución, editor/repositorio, versión completa del paquete o resumen de imágenes.
  • Dependencias transitivas y de marco, archivos de bloqueo, bibliotecas nativas y rutas de almacenamiento de confianza.
  • Correspondiente a si existe la condición de vulnerabilidad, objetivo del parche, alcance del reinicio, persona responsable y resultado de la verificación.

Las máquinas de desarrollo, los ejecutores de CI, los contenedores de compilación y las tareas en segundo plano también deben verificarse según sus rutas hacia contenido que no sea de confianza; no se limite a actualizar el contenedor web público.

6.2 Node.js: determine primero el tiempo de ejecución y luego actualice las dependencias de la aplicación

Verifique en el entorno de servicio real:

node -p 'JSON.stringify({execPath:process.execPath,node:process.version,openssl:process.versions.openssl,brotli:process.versions.brotli},null,2)'
npm ls next react react-dom react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack sharp --all
npm audit --omit=dev

node -p debe ejecutarse utilizando el ejecutable real del servicio o dentro de un contenedor real; comprueba si hay procesos recién iniciados y no prueba por sí mismo que el antiguo trabajador haya sido reemplazado. Node puede agregar el parche al Brotli integrado conservando la cadena de versión de la biblioteca original. Por lo tanto, no confíe únicamente en process.versions.brotli para determinar si se ha reparado. Debe combinarlo con la versión de seguridad Node o la evidencia del backport del proveedor. S2S4

npm ls se utiliza para ver el árbol de dependencia real; Los paquetes faltantes o los conflictos entre pares también pueden producir códigos de salida distintos de cero, por lo que debe leer el resultado específico. npm audit se utiliza como ayuda para la verificación de dependencias y no puede reemplazar la verificación de biblioteca nativa y binaria Node.

Utilice mise para administrar el entorno de Node 24, que se puede actualizar de la siguiente manera:

mise use -g [email protected]
mise exec [email protected] -- node -p 'process.version + " " + process.execPath'

mise use -g configura la versión global; La configuración local del proyecto aún debe verificarse por separado. Si el servicio ha corregido la antigua ruta absoluta, la imagen base del contenedor o el entorno de una cuenta diferente, se debe actualizar la configuración correspondiente y reiniciar el servicio. El comando en sí no reemplaza un proceso antiguo en ejecución. S43

En el proyecto Next, ejecute el comando correspondiente según la rama seleccionada. Para Next 15:

# Next 15 分支
npm install --save-exact [email protected]

Para Next 16:

# Next 16 分支
npm install --save-exact [email protected]

Verifique las dependencias compatibles con React/RSC, bloquee los archivos y la instancia final de Sharp, y luego compílelo de acuerdo con el proceso del proyecto. Utilice el archivo de bloqueo actualizado en CI para una instalación reproducible y verifique la versión en la imagen en ejecución después de la compilación. No utilice la reparación automática no controlada en las versiones principales como solución predeterminada para esta emergencia.

6.3 Java: verificar el editor, el JVM real y los componentes integrados

Inventario preliminar:

java -XshowSettings:properties -version

El java.home, java.runtime.version y el editor en la salida deben estar alineados con el JVM que realmente utiliza el servicio. Para JVM con permiso de adjuntar, se puede usar jcmd de JDK para verificar el proceso de destino, no solo el shell de inicio de sesión.

Verifique las dependencias en proyectos confiables y seleccione según las herramientas de compilación reales:

./mvnw dependency:tree '-Dincludes=org.apache.tomcat.embed:*,org.springframework.security:*,org.springframework.graphql:*'

./gradlew dependencyInsight --dependency tomcat-embed-core --configuration runtimeClasspath
./gradlew dependencyInsight --dependency spring-security-core --configuration runtimeClasspath
./gradlew dependencyInsight --dependency spring-graphql --configuration runtimeClasspath

Estos comandos de compilación pueden ejecutar complementos y resolver dependencias en línea, y solo se ejecutan en proyectos confiables. Verifique el JAR/WAR final o el JAR real en la imagen y no sustituya las declaraciones del archivo de compilación por el artefacto final. Spring El arranque integrado Tomcat requiere reconstruir la aplicación; actualizar una instalación Tomcat separada en el sistema no modificará la copia en el paquete de la aplicación.

Después de actualizar el tiempo de ejecución, verifique el javax.net.ssl.trustStore personalizado, el KeyStore autocargado de la aplicación, el tiempo de ejecución jlink, la imagen nativa/GraalVM y otros formularios de entrega, elemento por elemento. Las aplicaciones que ya tienen materiales de confianza personalizados no pueden finalizar la verificación solo porque el directorio JDK sea nuevo.

6.4 Python: Procesamiento intérprete por intérprete y entorno virtual

Dentro del venv/contenedor real confirmado como confiable:

python - <<'PY'
import sys
import ssl
import importlib.metadata as metadata

print("executable:", sys.executable)
print("version:", sys.version)
print("openssl:", ssl.OPENSSL_VERSION)
print("verify_paths:", ssl.get_default_verify_paths())
for name in ("pip", "certifi", "Django", "urllib3", "Brotli", "litellm"):
    try:
        print(name + ":", metadata.version(name))
    except metadata.PackageNotFoundError:
        print(name + ": not installed")
PY

python -m pip --version
python -m pip check

Este script solo recopila información y no determina la calificación de la versión. ssl.get_default_verify_paths() es la información de ruta predeterminada y no puede probar que todos los clientes de terceros utilicen el mismo almacén de confianza; debe confirmarse según la configuración de la aplicación.

Después de completar la actualización de arranque confiable pip del apéndice S37, actualice las dependencias del certificado de acuerdo con las restricciones del proyecto, por ejemplo:

python -m pip install --upgrade 'certifi>=2026.10.19'

# 仅适用于当前就选择 Django 5.2 的项目
python -m pip install --upgrade 'Django>=5.2.18,<5.3'

python -m pip check

El archivo de requisitos/bloqueo del proyecto debe actualizarse al mismo tiempo; de lo contrario, la próxima implementación puede volver a la versión anterior. Cuando utilice uv, Poetry o un repositorio de paquetes empresariales, utilice sus procesos de bloqueo y publicación existentes; no modifique manualmente los paquetes solo dentro de un contenedor de producción.

El flujo de trabajo pip-audit existente del proyecto se puede utilizar para verificar vulnerabilidades de dependencia conocidas en un entorno confiable; no es un escáner de códigos maliciosos y no cubre todos los riesgos del intérprete, la biblioteca del sistema y el almacén de confianza. S44

No se recomienda forzar al sistema /usr/bin/python3 a apuntar a una nueva versión compilada. Utilice actualizaciones de seguridad de lanzamiento o tiempos de ejecución de aislamiento de proyectos para evitar dañar las herramientas de administración que dependen del sistema Python. Esta es una opción de implementación y no es un requisito de solución adicional para esta vulnerabilidad.

6.5 Reconstruir y reemplazar la instancia en ejecución

Se recomienda realizar los siguientes pasos como un cambio completo:

  1. Obtenga el parche de la fuente confiable original y guarde la versión/hash y el bloqueo de dependencia.
  2. Devuelve las funciones clave en un entorno cercano a la producción y confirma que las extensiones nativas son compatibles con JVM/framework.
  3. Actualizar el tiempo de ejecución, las dependencias de la aplicación y el almacén de confianza real; Actualice la imagen base y el sistema CA para el contenedor, no solo reutilice la capa anterior.
  4. Reconstruya aplicaciones e imágenes y reemplace instancias de servicios, trabajadores, consumidores de colas y tareas programadas de forma continua.
  5. Vuelva a verificar la versión y la configuración en la nueva instancia en ejecución y confirme que todas las copias antiguas hayan salido.
  6. Observe las tasas de error, la latencia, CPU/memoria, fallas en el protocolo de enlace TLS y fallas en los procesos.

La reversión debe dar prioridad a conservar el tiempo de ejecución seguro y las dependencias de parches, y revertir la configuración de la aplicación o los cambios comerciales. Si tiene que volver a un producto antiguo con vulnerabilidades, se deben restaurar simultáneamente las restricciones de entrada correspondientes y se debe definir claramente la persona responsable y el período mínimo de recuperación.

7. Mitigación temporal y selección de parches

7.1 Límite de cobertura de medidas temporales

Las siguientes son sugerencias de implementación basadas en las condiciones de utilización anunciadas. A menos que se indique el plan oficial, el proveedor no garantiza que todas las variantes puedan bloquearse por completo.

riesgoMedidas temporales que se pueden tomarLa parte que no se puede considerar completada con base en este
Decodificación BrotliDetener la decodificación de entradas que no sean de confianza; comprobar la descompresión automática entrante y salienteWAF entrante o desactivar la compresión de respuesta no cubre todas las entradas de decodificación S3
Next.js typed arrays RCEActualice inmediatamente; aislar temporalmente los servicios afectados si es necesarioNo existe una solución alternativa universal oficial confiable S9
Next.js SVG RCEPlan oficial: Garantizar la nitidez real ≥0.35.5; suspender los puntos de entrada de optimización relevantes cuando el negocio lo permitaNo cubre otros problemas de Next/RSC S11
Reino Tomcat / HTTP/2 / AJPAislar la ruta correspondiente y cerrar los conectores innecesarios.Aún necesito el paquete de reparación de sucursal correspondiente S21S22S23
GraphQL DeserializaciónSuspender los campos de conexión afectados; restringir llamadas no confiablesSólo el límite de longitud de la solicitud no puede solucionar el problema de tipo/deserialización S25
Spring embedded LDAPDesactivar cuando no sea necesario; limitar el alcance del puerto de escucha realAún es necesario verificar la identidad administrativa predeterminada y la integridad del directorio S27
CPython SNI UAFPlan oficial: mantenga la referencia sólida SSLContext relevante hasta el final del servicioSe deben cubrir todas las rutas de creación/cambio S29
Python omitir nombre de hostSolución oficial: pase correctamente el server_hostname esperadoNo se puede simplemente marcar el indicador check_hostname o ignorar la advertencia S30S31
alquitrán no confiableDeshabilitar/poner en cuarentena la extracción, rechazar enlaces no esenciales y entradas de dispositivosNi los filtros ni las cuotas de recursos son entornos sandbox universales S32S40S45
Evento de confianza del certificadoActualice el material CA correcto; La confianza Java puede restringirse según la mitigación oficialDeshabilitar la verificación TLS aumenta el riesgo S19S37

7.2 Seleccione el parche según el método de entrega

Método de entregaPriorizar los métodos de reparaciónPruebas que deben conservarse
Tiempo de ejecución administrado por distribuciónActualizaciones de seguridad correspondientes del fabricanteVersión completa del paquete, anuncio, fuente del repositorio
Administrador oficial de binarios/tiempo de ejecuciónComunicado de seguridad oficial de la misma sucursal.Versión, código fuente y resumen, ruta de ejecución real
Autocompilado Node / CPythonLa versión oficial de la rama correspondiente o el conjunto completo de parches del proveedorConjunto de confirmación, parámetros de compilación, bibliotecas dependientes y resultados de regresión
Spring / Next / DjangoCompatible con actualizaciones internas, reconstrucción de bloqueos de dependencia y aplicaciones finalesÁrbol de dependencia final, versión real en JAR/paquete/imagen
Tienda de confianza personalizadaPlan de retiro oficial o actualización del proveedor que confirma el retiroRuta de uso real, cambio de material, pruebas de éxito y rechazo de TLS
Un entorno comprometidoReconstruir a partir de productos limpios y confiables y realizar investigaciones de incidentes por separado.Resumen histórico de paquete/imagen, registro de instalación, registro de rotación de credenciales

7.3 Mecanismo de parche clave y enfoque de revisión

  • Brotli: preste atención a si la verificación de límites y el retorno de error del estado de decodificación nativo están completos antes de ingresar a la compilación; solo reemplazar el paquete JavaScript no puede cambiar el código compilado estáticamente en Node. S4
  • Node DNS/TLS: se centra en el rechazo de entrada, la normalización de direcciones, la distinción entre las identidades SAN IP y DNS, y la devolución de llamada/promesa DNS La ruta de análisis y TLS prueba de coincidencia de nombre de host. S5S6
  • Tomcat JNDIRealm: se centra en si el proceso de autenticación realmente verifica las credenciales, en lugar de simplemente obtener un contexto de directorio; priorizar la versión oficial y no tratar el reemplazo de un único archivo fuente como un parche binario completo. S24
  • CPython ssl: se centra en la propiedad de referencia de Python y el ciclo de vida del SSLContext subyacente; Los backports wrap_bio() tienen diferencias de compatibilidad de ramas y debe leer la implementación real de la rama utilizada. S31S47
  • Certificado de desconfianza: Estas actualizaciones pueden aparecer como material confiable o cambios en la lista de denegación en lugar de cambios obvios de API. El mismo lote de Node también incluye el mecanismo de rechazo del intermedio afectado CA; las respectivas fuentes de confianza de Java y Python aún deben verificarse por separado. S19S37S46

**También se debe verificar el enlace independiente Brotli.**Google upstream lanzó 1.0.10 / 1.1.1 / 1.2.1 el mismo día para reparar CVE-2026-111497. Las extensiones nativas Python o los artefactos JNI que incorporan la misma implementación de C afectada deben actualizarse/reconstruirse de forma independiente; No se puede inferir que todos los decodificadores Java puros se vean afectados, ni se puede suponer que la actualización de Node reemplace automáticamente las copias en otros idiomas. S42

8. Verificación y controles de seguimiento

8.1 Lista de verificación mínima de verificación

comprobar artículosSe requiere evidencia
tiempo de ejecuciónLa versión completa o la evidencia del backport del proveedor son correctas en un proceso/contenedor real
dependencias de la aplicaciónNext/RSC/sharp, Tomcat/Spring y Django/certifi en los productos de implementación final han alcanzado el umbral correspondiente
Gama de reemplazoTodas las copias de trabajador/JVM/contenedor y las tareas en segundo plano se reemplazaron por otras nuevas y las instancias antiguas se cerraron.
TLSLos certificados de dominio válidos tienen éxito; los nombres de host no coincidentes y las cadenas no válidas fallan según la política; Se incluyen tiendas de confianza personalizadas.
eMudhra desconfianzaLa cadena de certificados creada por el intermediario CA afectado fue rechazada durante el tiempo de ejecución real, o hay evidencia de que se ha implementado la compilación de seguridad/la lista de rechazo correspondiente del proveedor específico; el caso no se puede cerrar según la prueba general TLS o el número de versión corta Java 8.
Node decodificación e imágenesEstán disponibles las funciones de respuesta comprimida normal, carga, optimización de imágenes y RSC; La política de fuente no confiable está vigente.
Java Autenticación y aislamientoContraseña incorrecta rechazada; solicitudes asincrónicas simultáneas de usuarios independientes sin combinación de identidad/respuesta; LDAP escuchando como se esperaba
Python SNI / ArchivoEl negocio normal de nombres de dominios múltiples TLS es estable; el archivado rechaza el recorrido de ruta y los enlaces no permitidos, y los archivos fuera del directorio no se modifican
Datos y regresión funcional.Las tareas de paginación, consulta espacial, verificación de permisos y en segundo plano pasaron las pruebas existentes del proyecto.
Recursos y observacionesNo hay un aumento anormal en CPU, memoria, tasa de error, latencia y errores TLS.
TrazabilidadAhorre tiempo de actualización, resumen de paquetes/imágenes, cambios de configuración, resultados de verificación y elementos no resueltos

Estas son recomendaciones de aceptación de implementación y no requieren que se produzca un script de ataque para cada CVE. La verificación que involucra fallas, agotamiento de recursos y archivos fuera de límites debe utilizar pruebas de regresión ascendentes o datos de prueba controlados por el proyecto en un entorno aislado.

8.2 La aplicación de parches y la investigación de intrusiones son tareas diferentes

Verifique los registros existentes en busca de errores de decodificación inusuales, fallas de trabajador/JVM, escrituras de archivos sospechosos, cambios de datos de directorio, excepciones de autenticación, solicitudes salientes y registros de uso de credenciales. Estas señales deben juzgarse en contexto: una falla o OOM no es prueba de una explotación exitosa; la ausencia de alertas no prueba que un sistema no haya sido afectado.

Cuando se descubren modificaciones no autorizadas, credenciales comprometidas o dependencias maliciosas confirmadas, se deben preservar las pruebas, aislar las instancias relevantes, rotar las credenciales afectadas desde un entorno confiable y reconstruir el sistema. El parche no revocará los tokens que haya obtenido el atacante ni restaurará los datos que hayan sido modificados.

9. Incidente de seguridad de la cadena de suministro: compromiso LiteLLM 1.107.0

**Ofecha de confirmación oficial: 2026-10-21.**LiteLLM informó que su proceso de lanzamiento estaba comprometido. litellm==1.107.0 de PyPI y algunos productos Docker/GHCR del mismo período contenían código malicioso de robo de secretos y control remoto, y los productos relacionados han sido retirados. S41

Para determinar el impacto, debe consultar los registros históricos de instalación y el resumen de imágenes; etiquetas como latest, main-latest y main-stable ahora apuntan a imágenes limpias, lo que no prueba que los productos retirados en el momento del incidente estuvieran limpios. La recomendación oficial en ese momento fue fijar temporalmente 1.106.2; esta recomendación se basó en este incidente y aún es necesario verificar otros anuncios de seguridad durante la implementación. S41

Para entornos donde se han instalado o ejecutado productos relacionados:

  1. Aísle y conserve registros, imágenes y registros de instalación, e inspecciónelos desde un entorno limpio.
  2. No inicie primero Python/pip en un entorno sospechoso; El malicioso .pth / sitecustomize.py puede volver a ejecutarse después del inicio.
  3. Reconstruir hosts, venvs/contenedores de fuentes confiables; No se puede simplemente desinstalar o degradar paquetes.
  4. Revocar/rotar las credenciales de la nube, las claves del proveedor LLM, las claves LiteLLM y las credenciales de la base de datos según la accesibilidad real y revisar el uso anormal. S41

Este es un incidente confirmado en la cadena de suministro y requiere consideración de la ejecución de código malicioso, la fuga de credenciales y los riesgos de persistencia al abordarlo. El 23 de octubre de 2026, los funcionarios todavía estaban investigando la intrusión inicial.

Apéndice: fuentes citadas y enlaces

La siguiente fecha de verificación de la fuente es 2026-10-23, incluido el anuncio de seguridad oficial del proyecto, el repositorio de código oficial y las instrucciones del proveedor. El texto principal [Sx] corresponde a este apéndice; Al realizar actualizaciones, debe verificar si el proveedor ha publicado revisiones posteriores.

S1 — Node.js: 2026-10-21 Aviso de seguridad

  • Propósito: Cuatro tiempos de ejecución High, que afectan a las sucursales, versión de seguridad de octubre.
  • Referencia: Official Security Bulletin

S2 — Node.js: Instrucciones de lanzamiento oficiales para tres líneas de mantenimiento

S3 — Vercel: Aviso de seguridad Node.js Brotli RCE

S4 — Node.js: Envío del parche oficial Brotli

  • Propósito: Base de implementación para la verificación de decodificación nativa y propagación de errores.
  • Referencia: Brotli Patch commit 49dff6f57a

S5 — Node.js: parche de normalización de direcciones TLS

S6 — Node.js: parche de verificación DNS NUL

S7 — Node.js: 2026-07-29 Aviso de seguridad

S8 — Next.js: actualización de seguridad del 14 de octubre de 2026

Referencia: S9 — Next.js:typed arrays / use cache RCE

Referencia: S10 — React:React Server Components RCE

Referencia: S11 — Next.js:SVG Image Optimization RCE

Referencia: S12 — Next.js:Server Actions DoS

S13 — Next.js: AVIF Optimización de imagen RCE

Referencia: S14 — Next.js:Windows RCE

Referencia: S15 — Next.js:next/og ImageResponse RCE

Referencia: S16 — Oracle: October 2026 CPU

S17 — Oracle: CVE-2026-91403 alarma fuera de banda

  • Finalidad: 2026-10-21, Riesgo de confianza del certificado JSSE, productos afectados y CVSS 3.1 9.1.
  • Referencia: Oracle Security Alert

S18 — Oracle: JDK versión oficial y descarga

  • Propósito: Distinguir entre CPU el 20 de octubre y la versión fuera de banda el 21 de octubre; distinguir las limitaciones de la versión corta de Java 8.
  • Referencia: JDK release list
  • Referencia: Oracle Java Download page

S19 — Oracle: eMudhra plan de retiro temporal

S20 — Eclipse Adoptium: registro de compilación de versión

  • Propósito: Temurin se reempaqueta debido al incidente del certificado; el sufijo de versión Oracle no se puede aplicar mecánicamente.
  • Referencia: Adoptium Release Scorecards

S21 — Apache Tomcat 9 Aviso de seguridad

S22 — Apache Tomcat 10 Aviso de seguridad

S23 — Apache Tomcat 11 Aviso de seguridad

  • Propósito: Tres elementos: Important, 11.0.27, AJP, alcance aplicable y fecha de divulgación/lanzamiento.
  • Referencia: Tomcat 11 vulnerabilities

S24 — Apache Tomcat: confirmación del parche JNDIRealm

  • Propósito: Base formal para reparar las brechas de verificación de certificación.
  • Referencia: JNDIRealm Patch commit

Referencia: S25 — Spring:GraphQL CVE-2026-59285

Referencia: S26 — Spring:GraphQL CVE-2026-41699

  • Propósito: Un umbral de corrección anterior, solo para explicar por qué no puede permanecer en la línea de base anterior.
  • Referencia: 6 Month GraphQL Security Bulletin

Referencia: S27 — Spring Security:CVE-2026-59270

Referencia: S28 — Spring Security:CVE-2026-47841

  • Propósito: autenticación de usuario WebAuthn, serialización de sesiones y premisa de ataque.
  • Referencia: WebAuthn Security Bulletin

S29 — PSF: CVE-2026-19445 Asesor de seguridad independiente

S30 — PSF: CVE-2026-19553 Asesor de seguridad independiente

S31 — CPython: parche oficial wrap_bio y backport 3.12

S32 — PSF: CVE-2026-82049 Asesor de seguridad independiente

S33 — CPython: Lanzamiento de seguridad oficial a finales de septiembre/principios de octubre

S34 — CPython: 3.10 última liberación segura

  • Finalidad: 3.10.22 y fin del ciclo de vida aguas arriba.
  • Referencia: Python 3.10.22

S35 — CPython: 2026-10-21 versión de mantenimiento de emergencia

S36 — certifi: Anuncio de desconfianza del certificado emSign

S37 — PSF: Impacto de eMudhra / emSign en los usuarios de Python

El comando de actualización de arranque pip proporcionado por las instrucciones oficiales citadas por S37 es el siguiente. Utilice únicamente en entornos Python que se haya confirmado que son confiables; si hay sospecha de envenenamiento en la Sección 9, primero aísle y reconstruya de acuerdo con el proceso del incidente. Corrige el hash del contenido de la rueda y posteriormente actualiza otras dependencias según el proceso del proyecto.

python -m pip install "pip @ https://files.pythonhosted.org/packages/3f/06/3e4420302363fbb71be3c7f35ce042f54bfca330e3e66b3a2e3c4cca579f/pip-26.2.2-py3-none-any.whl#sha256=fd7f4dfa8190e014013b9f08f3e973f4e4c26ffd179a204895533a7254813a70"

S38 — Django: 2026-08-04 liberación segura

  • Uso: CVE-2026-15307, GeoDjango Condiciones de explotación, correcciones iniciales y cambios de compatibilidad.
  • Referencia: Django 6.0.8 / 5.2.17

S39 — Django: 2026-10-06 liberación segura

  • Propósito: CVE-2026-87890, geometría DoS refuerzo posterior con la línea base actualmente seleccionada.
  • Referencia: Django 6.1.2 / 6.0.9 / 5.2.18

S40 — PSF / CPython: Última nota al margen de tar_filter

S41 — LiteLLM: Informe oficial de incidentes en la cadena de suministro, 21 de octubre

S42 — Google Brotli: versión segura oficial

  • Propósito: Brotli 1.0.10 / 1.1.1 / 1.2.1 independiente y base de verificación de copia integrada en varios idiomas.
  • Referencia: Brotli releases

S43 — mise: use la documentación oficial del comando

  • Propósito: Especificar la versión de la herramienta y la semántica del comando de la configuración global.
  • Referencia: mise use

S44 — PyPA: Proyecto oficial de auditoría pip

  • Propósito: Python El propósito y los límites de capacidad de la auditoría de vulnerabilidad de dependencia.
  • Referencia: pip-audit

S45 — Python: documento de filtro de extracción de archivos tar

  • Propósito: estrategia de datos, cambios de comportamiento predeterminados y restricciones que no pueden reemplazar la zona de pruebas.
  • Referencia: tarfile extraction filters

S46 — Node.js: Mecanismo de rechazo intermedio CA

  • Propósito: Este procesamiento de cadena de confianza relacionado con eMudhra no es equivalente a la invalidación criptográfica de todos los certificados raíz.
  • Referencia: Node.js PR #66871

S47 — CPython: Notas técnicas y correcciones de SNI UAF