XRING The XQUIC failure that can topple servers with only hundreds of traffic bytes

Author: Published 4 min de lectura 138 reading

The images in this article were generated with artificial intelligence. How we publish

A wrong mathematical check on XQUIC, the implementation of QUIC and HTTP / 3 promoted by Alibaba, allows a legitimate remote client to cause the server process to be blocked with a very short traffic blast under the protocol. The researcher Sébastien Féry, of FoxIO, made public the failure on July 8 under the nickname XRING; according to his report, no malformed packages or authentication are required: a few hundred normal QPACK traffic bytes are enough to knock the process down.

The technical root of the failure is in the management of the QPACK dynamic table, the mechanism that avoids repeatedly sending identical headers in HTTP / 3. XQUIC keeps that table in a circular buffer (ring buffer) And when you expand it, you copy the old data into a new one. A branch of that code miscalculates the size of the tail to move when the data "wrap" the end of the buffer; the overcount is used in a subset over an unmarked integer that ends by undercutting and producing a gigantic length for a memory copy, with the resulting off-limits writing and the collapse of the process in environments with security checks in running time.

XRING The XQUIC failure that can topple servers with only hundreds of traffic bytes
Image generated with IA.

This failure is particularly worrying because XQUIC is open source and is incorporated into third-party servers and proxies: any project using the library and exposing HTTP / 3 with the default QPACK settings may be affected. FoxIO identifies Tengine, the Alibaba Nginx-based web server, as one of the production products that XQUIC uses and could receive attacks that affect high-traffic portals.

For now there is no official patch or published CVE (status at 10 July according to the investigation). Meanwhile, there are operational mitigation: SETTINGS _ QPACK _ MAX _ TABLE _ CAPACITY to 0 to deactivate the dynamic table of QPACK or, if not feasible, disable HTTP / 3 support completely on the front. Both options remove the attack surface exploited by XRING, although the second has the cost of losing HTTP / 3 benefits.

In addition to configuration modifications, equipment should consider additional defensive measures: compile and implement hardening servers (ASLR, PIE, stack canaries and compiler constructions that include protections such as _ FORTIFY _ SOURCE), segment and contain HTTP / 3 processes and apply rate limits to new QUIC / UDP connections to reduce the probability of bursts that cause failure. In many industrial deployments the easiest and fastest measure is to block or filter the QUIC / HTTP / 3 traffic at perimeter or CDN level until there is an official correction available.

Identify if it is vulnerable begins by checking the presence of XQUIC in the binaries and versions: the main project is in GitHub and there you can check the history and the launches ( https: / / github.com / alibaba / xquic). To understand the header compression mechanism that is exposed by this type of error it is appropriate to refer to the QPACK specification of the IETF ( https: / / datatacker.ietf.org / doc / html / rfc9204), which explains how the dynamic table and the encoder stream coordinate updates.

XRING The XQUIC failure that can topple servers with only hundreds of traffic bytes
Image generated with IA.

The XRING case is inserted into a series of recent vulnerabilities on compressed header surfaces: HTTP / 2 and previous QUIC / HTTP / 3 implementations have shown errors that allow remote DoS or memory corruptions. The combination of valid protocol inputs, a single arithmetic error and code that does not adequately protect memory copy shows how a wrong line can have a massive impact on availability.

For infrastructure managers the immediate practical recommendation is to review configurations and deployments: disable the dynamic table of QPACK or HTTP / 3, apply rules in the CDN / proxy to block QUIC traffic if possible and monitor sudden crashes incidents in HTTP / 3 processes. Also, note the finding in the management of patches and subscribe to the safety lists of the projects involved to apply the official fix as soon as it is published. If Tengine is used or a XQUIC fork, contact the supplier or the package maintenance team and require urgent update; the open source facilitates the review but also disperses the patching responsibility.

Finally, and beyond the short term, this type of failure underlines the need to apply in-depth defenses: secure compilation policies, head-oriented fuzzing tests, code audits in critical memory-copy areas and a deployment strategy that includes the ability to disable protocols without breaking services. The software provider and operators should be coordinated to ensure that, when the patches arrive, they are deployed with the speed required by a vulnerability that allows denial of service from fully legitimate customers.

Coverage

Related

More news on the same subject.