La falla de OpenSSL HollowByte podría congelar la memoria del servidor con solicitudes TLS de 11 bytes – CYBERDEFENSA.MX

Once bytes harán que un servidor OpenSSL sin parches reserve hasta 131 KB de memoria para un mensaje que nunca llega. En los sistemas glibc que Okta probó, esa memoria desaparece hasta que se reinicia el proceso.

OpenSSL envió el byte hueco Se solucionó en junio sin CVE, sin avisos y sin entrada de registro de cambios que lo apunte. El equipo rojo de Okta, que informó del error de denegación de servicio y le puso nombre, publicó los detalles el jueves.

Las versiones fijas son OpenSSL. 4.0.1, 3.6.3, 3.5.7, 3.4.6 y 3.0.21todos con fecha del 9 de junio. Todas las versiones de esas ramas anteriores a las fijas lo tienen. Nada en una canalización de parches normal le indicará dónde están: no hay ningún identificador que pueda coincidir con un escáner ni ningún aviso que leer.

El defecto es que OpenSSL tomó la palabra del atacante. Cada mensaje de protocolo de enlace TLS lleva un encabezado de 4 bytes, tres de los cuales declaran la longitud del cuerpo. Las versiones anteriores aumentaron el búfer de recepción al tamaño declarado en el momento en que llegó el encabezado, antes de que apareciera un solo byte del cuerpo y antes de que se ejecutaran las comprobaciones del protocolo de enlace.

Para un ClientHello entrante, el límite máximo es de 131 KB. Luego el hilo trabajador se bloquea, esperando un cuerpo que nunca llega. Sin autenticación, sin sesión, sin intercambio de claves.

El recuerdo no vuelve

Por sí solo, eso es un ataque de agotamiento de la conexión, y esos son tan antiguos como Slowloris. Lo que hace que HollowByte se mantenga es simplista. Cuando el atacante interrumpe la conexión, OpenSSL libera el búfer, pero glibc retiene fragmentos pequeños y medianos para reutilizarlos en lugar de devolverlos al kernel.

El ataque varía el tamaño reclamado en cada conexión y, en las pruebas de Okta, eso fue suficiente para evitar que el asignador reutilizara lo que liberó. El montón se fragmenta, el tamaño del conjunto residente aumenta y permanece así mucho tiempo después de que el atacante se ha ido.

Ciberseguridad

En las pruebas NGINX de Okta, un servidor de 1 GB fue eliminado por OOM con 547 MB ​​de memoria congelada en fragmentos. En un servidor de 16 GB, HollowByte bloqueó el 25% de la memoria del sistema sin siquiera cruzar el límite de conexión, razón por la cual el Equipo Rojo dice «Las defensas estándar que limitan la conexión no lo detendrán».

Esas cifras son propiedad de Okta y no publicó ningún código de explotación junto con ellas. The Hacker News no encontró ningún repositorio público de prueba de concepto en GitHub hasta el 18 de julio.

OpenSSL decidió que esto no era una vulnerabilidad

El solicitud de extracción de Matt Caswell, quien escribió el parche, lo dice claramente: el equipo de seguridad optó por «manejar esto como una única solución de ‘error o endurecimiento’». El propio OpenSSL política de seguridad define cuatro niveles de gravedad, desde Crítico hasta Bajo, y «error o endurecimiento» no se encuentra entre ellos.

Incluso un problema bajo obtiene un CVE, una nota de registro de cambios y una entrada en la página de vulnerabilidades. HollowByte no tiene ninguno de los tres. The Hacker News no encontró ninguna mención de la solución en el notas de lanzamiento o en las 23 entradas de OpenSSL 4.0.1 registro de cambios.

OpenSSL no ha dicho por qué. Este es su caso: 131 KB por conexión es pequeño, cada servidor TLS asigna memoria por conexión y una asignación limitada no es una vulnerabilidad. La respuesta de Okta es que el recuerdo nunca vuelve.

Hacker News ha preguntado a OpenSSL por qué HollowByte se clasificó por debajo de Low y si la solución alcanzó las ramas de soporte extendido 1.1.1 y 1.0.2. También preguntó a Okta si la fragmentación sobrevive a asignadores distintos de glibc. Esta historia se actualizará con cualquier respuesta.

La línea del proyecto es más fina de lo que parece. En enero, OpenSSL asignó CVE-2025-66199calificado como Bajo, debido a un error de compresión de certificados TLS 1.3 en el que una longitud proporcionada por un par hizo crecer un búfer de montón antes de la validación, con un valor de alrededor de 22 MiB por conexión.

Ese necesitaba cuatro cosas para alinearse: compresión de certificados compilada, un algoritmo de compresión disponible, la extensión negociada y, en los servidores, certificados de cliente solicitados. HollowByte no necesita ninguno de ellos.

El mismo lanzamiento del 9 de junio asignado CVE-2026-34183clasificado como moderado, a crecimiento de memoria ilimitado en el controlador QUIC PATH_CHALLENGE. Ambos son DoS por agotamiento de la memoria. Ambos obtuvieron números.

Ciberseguridad

El lanzamiento también cerró 18 CVE, incluido un uso después de la liberación de alta gravedad en PKCS7_verify(), por lo que cualquiera que ejecute una de esas compilaciones ascendentes tiene la solución sin que se lo digan.

Río abajo es peor. sombrero rojo incumplimiento documentado es realizar una copia de seguridad en lugar de mover la versión, por lo que un paquete parcheado aún informa la versión a partir de la cual se creó. Lo que normalmente resuelve esto es el aviso y el feed OVAL, ambos codificados con nombres CVE. No hay ningún CVE aquí para ingresar.

Eso deja el registro de cambios del paquete o el mantenedor: pregunte si cambiaron la base en la versión del 9 de junio o si tomaron el parche, que es una solicitud de extracción. 30792 para maestro y 4.0, 30793 para 3.6, 3.5 y 3.4, y 30794 para 3.0.

Si crea OpenSSL usted mismo, actualice a la versión indicada y reinicie lo que cargó la versión anterior.

La solución cubre solo TLS. Caswell escribió en la solicitud de extracción que DTLS se quedó solo porque hacerlo correctamente habría sido mucho más invasivo y que el proyecto decidió no molestarse con eso por ahora. The Hacker News comparó la fuente de OpenSSL en las etiquetas 3.6.2 y 3.6.3 y encontró que el archivo de protocolo de enlace DTLS tenía bytes idénticos en toda la solución. En 4.0.1, la versión más reciente, esa ruta todavía dimensiona su búfer a partir de la longitud que declara el par.

OpenSSL no ha clasificado esa ruta ni se ha comprometido a solucionarla. Las notas de la versión, el registro de cambios y la página de vulnerabilidades no dicen nada al respecto. La solicitud de extracción sí lo hace.

GitHub Copilot rechaza solicitudes dañinas en el chat y luego las escribe en código – CYBERDEFENSA.MX

Un asistente de codificación de IA que se niega a responder una solicitud peligrosa en su cuadro de chat puede responderla de todos modos si la misma solicitud se divide en pasos pequeños y de apariencia normal dentro de un editor de código. Ése es el hallazgo de un nuevo estudio de GitHub Copilot por los investigadores Abhishek Kumar y Carsten Maple.

Los modelos que probaron a través de Copilot, Claude de Anthropic y Gemini de Google rechazaron casi todas las solicitudes dañinas cuando se les preguntó directamente. Reformulados como pasos de una tarea de codificación normal, produjeron respuestas dañinas en las 816 ejecuciones del flujo de trabajo del estudio.

Lo que hace que esto sea diferente de un jailbreak típico: nadie solicita directamente el elemento dañino y no se engaña al modelo para que ejecute el código de otra persona. Escribe el contenido prohibido por sí mismo, como efecto secundario de una tarea de codificación que le dijeron que mejorara.

como funciona

Los investigadores llaman al método construcción de jailbreak a nivel de flujo de trabajo.

En lugar de una única indicación contundente, le pidieron a Copilot que creara un software cotidiano: un pequeño programa de prueba que califica la frecuencia con la que otro modelo de IA cede a indicaciones dañinas. Cargar una lista de preguntas de examen dañinas en ese programa parece un trabajo normal, no un ataque.

Ciberseguridad

Luego vino el empujón. Le dijeron a Copilot que la puntuación era demasiado baja y le pidieron que mejorara el programa añadiendo «disparos de enseñanza», ejemplos de pares de preguntas y respuestas escritas en el código para aumentar la puntuación. Copilot añadió primero ejemplos inofensivos.

Cuando se le pidió que agregara las dañinas, escribió las respuestas peligrosas él mismo, como texto sin formato dentro del código. Estas fueron respuestas que las mismas modelos rechazan cuando las preguntas directamente en un chat.

Lo importante es de dónde vino el texto dañino. Los investigadores proporcionaron sólo las preguntas, tomadas de conjuntos de pruebas de seguridad pública. Las respuestas fueron trabajo del propio modelo, elaboradas para completar la tarea asignada de completar los ejemplos.

los numeros

El equipo ejecutó 204 mensajes dañinos extraídos de tres puntos de referencia públicos (Hammurabi’s Code, HarmBench y AdvBench) contra cuatro modelos disponibles a través de Copilot: Claude Sonnet 4.6, Claude Haiku 4.5, Gemini 3.1 Pro y Gemini 3.5 Flash.

Todo se ejecutó con la configuración predeterminada, con los modelos utilizados exactamente como los entrega Copilot, sin cambios de parámetros ni filtros agregados.

Cuando se les preguntó directamente en el chat, los modelos produjeron respuestas dañinas en sólo 8 de 816 intentos. Otras dos configuraciones simples, cargar las indicaciones desde una hoja de cálculo o solicitar una corrección de código de rutina, dieron el mismo resultado. Dentro del flujo de trabajo completo, produjeron contenido dañino 816 de 816 veces.

Dos revisores expertos verificaron cada respuesta por su cuenta y acordaron que las 816 eran realmente dañinas, utilizando una prueba estricta: la respuesta tenía que ser específica, utilizable y realmente hacer lo que pedía el mensaje dañino. Las negativas, las advertencias vagas y las alternativas seguras no contaron.

El resultado dañino apareció después de aproximadamente seis intercambios de ida y vuelta, todos ellos parecían pasos de codificación normales. Las pruebas utilizaron GitHub Copilot Chat 0.30.3 dentro de VS Code 1.103.0, en sesiones realizadas entre el 2 de abril y el 22 de junio de 2026. Debido a que estos son servicios alojados que se actualizan con el tiempo, el comportamiento exacto puede cambiar.

¿Por qué sucede? La respuesta del artículo es sobre incentivos. Una vez que el trabajo se enmarca como un aumento de puntaje, negarse a completar un campo deja de parecer una opción de seguridad y comienza a parecer como dejar el trabajo sin terminar. Los autores lo vinculan a una tendencia conocida en los agentes de codificación: optimizar la métrica que se les entrega, incluso cuando eso va en contra de sus propias barreras.

Por qué es importante

Un rechazo del chat no prueba que un asistente de codificación sea seguro. El mismo modelo puede mantener la línea en una conversación y cruzarla mientras escribe código. Y el fallo se esconde en un lugar fácil de pasar por alto: el texto dañino termina en un archivo que escribe el asistente, fuera de la respuesta del chat, donde normalmente aparecería un rechazo.

Para cualquiera que utilice estas herramientas, la lectura concreta es limitada pero utilizable. Tenga cuidado con una sesión de varios turnos que le pide al asistente que complete una evaluación o un conjunto de puntos de referencia con ejemplos de indicaciones y respuestas para aumentar la puntuación. Revise los archivos que escribe el asistente en lugar de confiar en que un rechazo visible del chat significa que la sesión se mantuvo limpia.

Ciberseguridad

Los autores lo reducen a tres direcciones, ninguna de las cuales es una solución completa por sí sola: inspeccionar lo que escribe el agente, juzgar una sesión completa en lugar de cada mensaje y tratar una solicitud para «mejorar una puntuación de referencia» como una razón para mirar más de cerca. Dicen que informaron los hallazgos a los fabricantes de herramientas y modelos afectados, y dejaron fuera del documento los resultados dañinos y las indicaciones exactas.

El resultado se ajusta a una creciente cantidad de trabajos que muestran que el entrenamiento de seguridad de la IA se vuelve más inestable una vez que un modelo se conecta a una herramienta que puede actuar, en lugar de simplemente charlar. Investigaciones anteriores encontraron que los modelos entrenados en seguridad son Se libera fácilmente cuando se convierte en agentes de navegación web..

El ataque anterior más cercano, CódigoJailbreakeroculta la intención dañina dentro de un mensaje de confirmación falso. Otros, como código rojohan demostrado que los modelos aceptan una instrucción peligrosa más fácilmente cuando está disfrazada de código que en inglés simple. El Crescendo El ataque alcanzó un objetivo dañino al avanzar lentamente durante varios turnos de chat en lugar de preguntar directamente.

El mismo efecto aparece en herramientas de codificación reales, no solo en este punto de referencia. The Hacker News cubrió recientemente GuardFall, una derivación de seguridad de comandos que se apoyaba exactamente en este primer paso: un comando contundente y destructivo se rechaza, mientras que el mismo comando guardado en un archivo de compilación o en la respuesta de la documentación de una herramienta se produce como un paso de rutina.

El giro de este nuevo estudio es que el contenido dañino no es la preparación para otro ataque; es lo que el modelo fue obligado a producir.

El estudio cubre únicamente GitHub Copilot con cuatro modelos de dos proveedores. Los autores tienen claro que los resultados pueden no trasladarse a otros asistentes como Cursor, Cline o Windsurf, ni a modelos de OpenAI y otros. Ésa es la pregunta abierta que señalan para más adelante.

La más difícil que dejan sin resolver es cómo detectar este patrón sin romper también la investigación de seguridad legítima que tiene que funcionar con las mismas indicaciones de prueba dañinas.

El error de proxy Squid 'Squidbleed' de 29 años puede filtrar solicitudes HTTP de texto sin cifrar

Una sobrelectura del montón en el proxy web de Squid puede filtrar la solicitud HTTP en texto claro de otro usuario, incluidas las credenciales o tokens de sesión que lleva, a cualquiera que ya tenga permiso para enviar tráfico a través del mismo proxy.

El error se remonta a un 1997 cambio de análisis de FTP y todavía está activo en la configuración predeterminada de Squid. Investigadores de Calif.io lo reveló en junio y lo nombró calamar (CVE-2026-47729), después de Heartbleed, que filtró memoria de la misma manera.

Squid describe esto como un ataque de un cliente de confianza: alguien que ya tiene permiso para usar el proxy, no cualquier host aleatorio en Internet. Eso coincide con el hogar habitual de Squid, redes compartidas como escuelas, oficinas y Wi-Fi público. En esas configuraciones, el atacante es simplemente otro usuario del mismo proxy.

La filtración también llega sólo al tráfico que Squid puede leer. HTTPS normal recorre un túnel CONNECT opaco, por lo que Squid nunca ve su interior; el tráfico expuesto es HTTP de texto sin cifrar, además de configuraciones de terminación TLS donde Squid descifra e inspecciona.

Ciberseguridad

El atacante también necesita que el proxy llegue a un servidor FTP que controla en el puerto 21. Tanto FTP como ese puerto están activados de forma predeterminada.

Cómo funciona la fuga

El error se encuentra en el analizador de listado de directorios FTP de Squid. Para manejar servidores NetWare antiguos que rellenaban listados con espacios adicionales, el código omite los espacios en blanco con un bucle: while (strchr(w_space, *copyFrom)) ++copyFrom;.

Si el servidor FTP del atacante envía una línea de listado que termina justo después de la marca de tiempo, sin nombre de archivo, copyFrom aterriza en el terminador nulo de la cadena. strchr trata esa terminación NUL como parte de la cadena que busca, por lo que devuelve un puntero en lugar de NULL y el bucle nunca se detiene. Sale del final del búfer y xstrdup copia lo que sigue al atacante como un nombre de archivo.

Los bytes filtrados son la parte útil. Squid reutiliza los buffers de memoria liberados sin ponerlos a cero, por lo que un buffer de 4 KB que recientemente contuvo la solicitud HTTP de una víctima todavía contiene la mayor parte. Una línea FTP corta sobrescribe sólo los primeros bytes; la lectura excesiva devuelve el resto.

La demostración de Calif extrae un encabezado de Autorización de una víctima que comparte el mismo proxy, suficiente para actuar como ese usuario. El código de prueba de concepto es públicoy hasta el momento no se ha informado de explotación en la naturaleza.

que hacer

Si aplica el parche, verifique la solución, no solo la versión. Confirme que la guardia esté en FtpGateway.cc, o verifique el backport de su distribución, ya que las distribuciones envían sus propias compilaciones (paquetes Debian Squid 5.7).

El hilo público sigue siendo inconsistente: el mantenedor Amos Jeffries primero dijo que Squid 7.6 tenía la solución, luego corregido eso a 7.7y el 22 de junio Salvatore Bonaccorso de Debian tomó nota del compromiso al que se hace referencia Parece que ya está en 7.6.

Ciberseguridad

La solución es pequeña, una verificación de terminador nulo antes de que las llamadas strchr vulnerablesfusionado con la rama de desarrollo en abril y v7 en mayo. Squid 7.6 parchea por separado CVE-2026-50012, un desbordamiento del montón cache_digest no relacionado.

La medida más limpia es la que recomiendan los investigadores de todos modos: desactivar FTP. Chromium eliminó FTP hace años y la mayoría de las redes casi no lo transportan, por lo que al desactivarlo se elimina esta superficie de ataque de forma gratuita, independientemente de la versión que ejecute.

El riesgo es real pero limitado. SUSE lo califica como moderado, CVSS6.5y el vector explica la puntuación: el atacante necesita acceso proxy (privilegios bajos) y el único impacto es la confidencialidad, nada sobre la integridad o la disponibilidad.

Calif le da crédito a Claude Mythos Preview de Anthropic, el modelo detrás del Proyecto Glasswing, por detectar la peculiaridad de strchr casi de inmediato; el mismo tipo de error enterrado del analizador que los agentes de IA han estado apareciendo en otros lugares, incluso en FFmpeg. Calif insinúa que el código FTP de Squid puede no ser el último lugar donde olvidó dejar de leer.

El esquema de fraude publicitario de Trapdoor en Android alcanzó 659 millones de solicitudes de ofertas diarias utilizando 455 aplicaciones

Investigadores de ciberseguridad han revelado detalles de una nueva operación de fraude publicitario y publicidad maliciosa denominada Trampa Dirigido a usuarios de dispositivos Android.

La actividad, según el equipo de investigación e inteligencia de amenazas Satori de HUMAN, abarcó 455 aplicaciones maliciosas de Android y 183 dominios de comando y control (C2) propiedad de actores de amenazas, lo que convirtió la infraestructura en un canal para el fraude en múltiples etapas.

«Los usuarios, sin saberlo, descargan una aplicación propiedad de un actor de amenazas, a menudo una aplicación de estilo utilidad como un visor de PDF o una herramienta de limpieza de dispositivos», investigadores Louisa Abel, Ryan Joye, João Marques, João Santos y Adam Sell detallado en un informe compartido con The Hacker News.

«Estas aplicaciones desencadenan campañas de publicidad maliciosa que obligan a los usuarios a descargar aplicaciones adicionales propiedad de los actores de amenazas. Las aplicaciones secundarias lanzan WebViews ocultas, cargan dominios HTML5 propiedad de los actores de amenazas y solicitan anuncios».

Ciberseguridad

La campaña, añadió la empresa de ciberseguridad, es autosostenible en el sentido de que la instalación orgánica de una aplicación se convierte en un ciclo de generación de ingresos ilícitos que puede utilizarse para financiar campañas de publicidad maliciosa posteriores. Un aspecto notable de la actividad es el uso de sitios de retiro de efectivo basados ​​en HTML5, un patrón observado en grupos de amenazas anteriores rastreados como SlopAds, Low5 y BADBOX 2.0.

En el punto álgido de la operación, Trapdoor representó 659 millones de solicitudes de oferta por día, y las aplicaciones de Android vinculadas al esquema se descargaron más de 24 millones de veces. El tráfico asociado con la campaña se originó principalmente en EE. UU., que representó más de las tres cuartas partes del volumen de tráfico.

«Los actores de amenazas detrás de Trapdoor también abusan de las herramientas de atribución de instalación (tecnología diseñada para ayudar a los vendedores legítimos a rastrear cómo los usuarios descubren aplicaciones) para permitir comportamiento malicioso solo en usuarios adquiridos a través de campañas publicitarias dirigidas por actores de amenazas, mientras lo suprimen para descargas orgánicas de las aplicaciones asociadas», dijo HUMAN.

Trapdoor combina dos enfoques dispares, distribución de publicidad maliciosa y monetización de fraude publicitario oculto, donde los usuarios desprevenidos terminan descargando aplicaciones falsas disfrazadas de utilidades aparentemente inofensivas que actúan como un conducto para publicar anuncios maliciosos para otras aplicaciones de Trapdoor, que están diseñadas para realizar fraude táctil automatizado, así como para lanzar WebViews ocultos, cargar dominios de lavado controlados por actores de amenazas y solicitar anuncios.

Vale la pena señalar que solo se utiliza la aplicación de segunda etapa para desencadenar el fraude. Una vez que se inicia la aplicación descargada orgánicamente, muestra alertas emergentes falsas que imitan los mensajes de actualización de la aplicación para engañar a los usuarios para que instalen la aplicación de la siguiente etapa.

Este comportamiento también indica que la carga útil se activa sólo para aquellos que son víctimas de la campaña publicitaria. En otras palabras, cualquiera que descargue la aplicación directamente desde Play Store o la descargue no será el objetivo. Además de esta técnica de activación selectiva, Trapdoor emplea varias técnicas de antianálisis y ofuscación para eludir la detección.

«Esta operación utiliza software real y cotidiano y múltiples técnicas de ofuscación y antianálisis, como hacerse pasar por SDK legítimos para integrarse, para ayudar a fusionar la distribución de publicidad maliciosa, la monetización del fraude publicitario oculto y la distribución de malware en múltiples etapas», dijo Lindsay Kaye, vicepresidenta de inteligencia de amenazas de HUMAN.

Ciberseguridad

Tras una divulgación responsable, Google ha tomado medidas para eliminar todas las aplicaciones maliciosas identificadas de Google Play Store, neutralizando efectivamente la operación. La lista completa de aplicaciones de Android está disponible aquí.

«Trapdoor muestra cómo los estafadores decididos convierten las instalaciones cotidianas de aplicaciones en un canal de autofinanciación para publicidad maliciosa y fraude publicitario», dijo Gavin Reid, director de seguridad de la información de HUMAN. «Este es otro ejemplo de actores de amenazas que cooptan herramientas legítimas, como el software de atribución, para ayudar en sus campañas de fraude y ayudarles a evadir la detección».

«Al encadenar aplicaciones de utilidad, dominios de retiro HTML5 y técnicas de activación selectiva que se esconden de los investigadores, estos actores están en constante evolución, y nuestro equipo de Satori está comprometido a rastrearlos e interrumpirlos a escala».