{"id":1490,"date":"2026-07-10T12:02:48","date_gmt":"2026-07-10T12:02:48","guid":{"rendered":"https:\/\/cybercolombia.co\/index.php\/2026\/07\/10\/una-falla-xring-sin-parche-en-xquic-permite-que-los-clientes-remotos-bloqueen-los-servidores-http-3\/"},"modified":"2026-07-10T12:02:48","modified_gmt":"2026-07-10T12:02:48","slug":"una-falla-xring-sin-parche-en-xquic-permite-que-los-clientes-remotos-bloqueen-los-servidores-http-3","status":"publish","type":"post","link":"https:\/\/cybercolombia.co\/index.php\/2026\/07\/10\/una-falla-xring-sin-parche-en-xquic-permite-que-los-clientes-remotos-bloqueen-los-servidores-http-3\/","title":{"rendered":"Una falla XRING sin parche en XQUIC permite que los clientes remotos bloqueen los servidores HTTP\/3"},"content":{"rendered":"<div id=\"articlebody\">\n<p>Una sola variable incorrecta en una l\u00ednea en XQUIC, la biblioteca QUIC y HTTP\/3 de Alibaba, permite que cualquier cliente remoto bloquee el servidor con una breve r\u00e1faga de tr\u00e1fico completamente legal. No hay ning\u00fan parche.<\/p>\n<p>S\u00e9bastien F\u00e9ry, investigador de FoxIO <a href=\"https:\/\/foxio.io\/blog\/xring-crashing-xquic-with-spec-compliant-qpack-instructions\" target=\"_blank\">revel\u00f3 la falla el 8 de julio<\/a> y lo apod\u00f3 XRING. Dice que no necesita inicio de sesi\u00f3n ni paquetes con formato incorrecto: alrededor de 260 bytes de tr\u00e1fico QPACK normal desactivan el proceso del servidor.<\/p>\n<p>XQUIC es de c\u00f3digo abierto, por lo que el riesgo no es solo de Alibaba: cualquier servidor que lo incorpore y sirva HTTP\/3 con la configuraci\u00f3n QPACK predeterminada est\u00e1 expuesto. Eso incluye Tengine, el servidor web basado en Nginx de Alibaba, que seg\u00fan FoxIO est\u00e1 al frente de la nube y CDN de la compa\u00f1\u00eda en sitios como Taobao y Alipay.<\/p>\n<p>Todas las versiones hasta la v1.9.4, la m\u00e1s reciente, se ven afectadas. No hay ninguna versi\u00f3n fija ni CVE a partir del 10 de julio. Hasta que se env\u00ede una soluci\u00f3n, los operadores pueden establecer SETTINGS_QPACK_MAX_TABLE_CAPACITY en 0, lo que desactiva la tabla din\u00e1mica de QPACK, o eliminar por completo el soporte HTTP\/3.<\/p>\n<p>El error radica en c\u00f3mo HTTP\/3 comprime los encabezados. Para evitar enviar el mismo encabezado (por ejemplo, agente de usuario) una y otra vez, HTTP\/3 usa QPACK. Mantiene una tabla compartida que el cliente le indica al servidor que cree y cambie de tama\u00f1o a trav\u00e9s de un canal de control dedicado, el flujo del codificador.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/ai-vuln-protection-d\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Ciberseguridad\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjQl2axNwsfhbXOFynrg_uAZsvHi3OvNGSA8KJO-BKR8Xm3x7yjKV3EvfY4v5mwXx6LF0uWFb9h9d9iAV_Pi-YYhqimX9wx4OaLdDJEdR215Xrxq_PAtXkaLfQso4pTSjbj6fvh_ZTliLpzWZSZfcoZgyXtKwhN-SSDDlmbtUqGLshc0KqYQGWYHMN52Sl1\/s728-e100\/zz-d.jpg\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>XQUIC almacena los bytes de esa tabla en un <a href=\"https:\/\/github.com\/alibaba\/xquic\/blob\/main\/src\/common\/utils\/ringmem\/xqc_ring_mem.c\" target=\"_blank\">buffer de anillo<\/a>un bloque fijo de memoria donde los datos se ajustan desde el final hasta el principio una vez que se llenan.<\/p>\n<p>Cuando el cliente solicita hacer crecer la tabla, XQUIC asigna un b\u00fafer m\u00e1s grande y copia los datos antiguos. Esa copia tiene cuatro casos, dependiendo de si los datos se ajustan en el b\u00fafer antiguo, en el nuevo, en ambos o en ninguno. En uno de ellos, el c\u00f3digo dimensiona los datos de cola sobrantes con respecto a la capacidad del nuevo b\u00fafer m\u00e1s grande en lugar de la del anterior. Se sobrecuenta mucho.<\/p>\n<p>Haga crecer una tabla de 64 bytes con el cursor de escritura cerca del final y cambie el tama\u00f1o a 65, y XQUIC decide que hay 70 bytes finales para mover cuando en realidad hay 6.<\/p>\n<p>Ese n\u00famero incorrecto fluye hacia una copia de memoria. La longitud de la copia proviene de restar el recuento excesivo de un valor menor. Debido a que esa longitud es un size_t sin firmar, se desborda y se ajusta a un n\u00famero casi m\u00e1ximo, y la copia se ejecuta hasta el final de la memoria.<\/p>\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEixV1_6IK3fCzhiZyzdBFm-3_r_D-Iy8F9ekwLsUvYBiZuvrN_gOs6mexzZHBPD7Cor6lupMIYWI5fINt937kxfc0NLI1vNUZr50aX-LloAEsBD8DTiyFTnnIc5vEOtfkeKppX8CSuR8URBCuyK8oVYd7DcpJK9y5uj_TvZwF92noAOyChF3H3GiIXkHi0\/s1700-e365\/qpack.jpg\" style=\"display: block;  text-align: center; clear: left; float: left;\"><img decoding=\"async\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEixV1_6IK3fCzhiZyzdBFm-3_r_D-Iy8F9ekwLsUvYBiZuvrN_gOs6mexzZHBPD7Cor6lupMIYWI5fINt937kxfc0NLI1vNUZr50aX-LloAEsBD8DTiyFTnnIc5vEOtfkeKppX8CSuR8URBCuyK8oVYd7DcpJK9y5uj_TvZwF92noAOyChF3H3GiIXkHi0\/s1700-e365\/qpack.jpg\" alt=\"\" border=\"0\" data-original-height=\"606\" data-original-width=\"1036\"\/><\/a><\/div>\n<p>En la versi\u00f3n de lanzamiento de FoxIO en Ubuntu 26.04, _FORTIFY_SOURCE=2 de glibc detect\u00f3 la longitud incorrecta y finaliz\u00f3 el proceso. Sin esa verificaci\u00f3n, la copia escribe fuera de los l\u00edmites, desde el b\u00fafer antiguo m\u00e1s all\u00e1 del final del nuevo. F\u00e9ry mostr\u00f3 un fracaso, pero no prob\u00f3 si esa corrupci\u00f3n podr\u00eda explotarse m\u00e1s.<\/p>\n<p>Ninguno de los valores del ataque infringe las reglas de QPACK. XQUIC anuncia un l\u00edmite de tabla din\u00e1mica de 16 KiB de forma predeterminada; la carga \u00fatil solicita 64 bytes, luego 65. El cliente solo tiene que conducir la tabla al dise\u00f1o ajustado exacto que llega a la rama defectuosa. FoxIO dice que el error ha estado en XQUIC desde su primer lanzamiento p\u00fablico en enero de 2022, y una prueba de concepto es <a href=\"https:\/\/github.com\/FoxIO-LLC\/xring-poc\" target=\"_blank\">p\u00fablico<\/a>.<\/p>\n<p>XRING es el \u00faltimo de una serie de fallos remotos en pilas HTTP\/2 y HTTP\/3. Tres semanas antes, THN inform\u00f3 un uso despu\u00e9s de la liberaci\u00f3n en el m\u00f3dulo HTTP\/3 de NGINX (CVE-2026-42530) al que un cliente remoto y no autenticado podr\u00eda acceder a trav\u00e9s del mismo flujo de codificador QPACK, abusos XRING, una clase de error diferente en la misma superficie de ataque.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/sygnia-cyber-response-d-1\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Ciberseguridad\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiBxLQDy7VdLze43eMmpRllTXaPKPfB_veNUxQlqIu3-68GBJtegkhDGCqtaiSymOQviROdxln1FSd4zdMp5Jv9jeF1xQxLPc9uo9H7zW2nWHNax0wT0Y8JRj-zyUfbaCLqhxSfQT2sCfhWMBPL6UVgsh5RYVNVxwus_mW_BY9Ptwz3z7iF0_LWOnte-gqg\/s1600\/sy-d-1.jpg\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>En junio, la bomba HTTP\/2 de Calif provoc\u00f3 una denegaci\u00f3n remota de servicio contra Nginx, Apache, IIS y Envoy al abusar de HPACK, la compresi\u00f3n de encabezados de HTTP\/2 y el predecesor de QPACK.<\/p>\n<p>En febrero, HAProxy <a href=\"https:\/\/www.haproxy.com\/blog\/cves-2026-quic-denial-of-service\" target=\"_blank\">parche\u00f3 dos fallas de QUIC<\/a>uno de ellos, un desbordamiento insuficiente de enteros durante la validaci\u00f3n del token, el mismo tipo de error detr\u00e1s de XRING, aunque necesitaba un paquete con formato incorrecto donde XRING no necesita ninguno. Esa diferencia es el punto: entrada legal, un error aritm\u00e9tico, un servidor muerto.<\/p>\n<p>FoxIO demostr\u00f3 una falla, no una ejecuci\u00f3n de c\u00f3digo, y no inform\u00f3 ninguna explotaci\u00f3n en la naturaleza. Dice que envi\u00f3 un correo electr\u00f3nico a Alibaba el 7 de abril a trav\u00e9s de la pol\u00edtica de seguridad del proyecto, que promete una respuesta dentro de tres d\u00edas h\u00e1biles, y luego hizo un seguimiento cuatro veces m\u00e1s hasta el 9 de mayo sin respuesta antes de hacerse p\u00fablico.<\/p>\n<p>Hacker News ha preguntado a Alibaba si habr\u00e1 una soluci\u00f3n y un CVE, y si los cinco intentos de divulgaci\u00f3n de FoxIO llegaron a su equipo de seguridad. Le ha preguntado a FoxIO si la falla ha sido explotada en la naturaleza y si la escritura en el mont\u00f3n subyacente puede superar una falla. La historia se actualizar\u00e1 con cualquier respuesta.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Una sola variable incorrecta en una l\u00ednea en XQUIC, la biblioteca QUIC y HTTP\/3 de Alibaba, permite que cualquier cliente remoto bloquee el servidor con una breve r\u00e1faga de tr\u00e1fico completamente legal. No hay ning\u00fan parche. S\u00e9bastien F\u00e9ry, investigador de FoxIO revel\u00f3 la falla el 8 de julio y lo apod\u00f3 XRING. Dice que no [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1379,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25,5],"tags":[3665,759,263,3666,52,290,265,1030,87,716,132,3664,3663],"class_list":["post-1490","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-noticias","category-trending","tag-bloqueen","tag-clientes","tag-falla","tag-http3","tag-los","tag-parche","tag-permite","tag-remotos","tag-servidores","tag-sin","tag-una","tag-xquic","tag-xring"],"_links":{"self":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts\/1490","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/comments?post=1490"}],"version-history":[{"count":0,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts\/1490\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/media\/1379"}],"wp:attachment":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/media?parent=1490"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/categories?post=1490"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/tags?post=1490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}