CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-54609

CVE-2026-54609: Uncontrolled Resource Consumption and Network Amplification in QTINeon

Amit Schendel
Amit Schendel
Senior Security Researcher

Jul 28, 2026·5 min read·25 visits

Executive Summary (TL;DR)

An unauthenticated remote attacker can exploit the QTINeon reconnect handler to exhaust relay server memory and launch network amplification attacks against target game hosts.

Quiet-Terminal-Interactive's QTINeon version 1.0.0 is vulnerable to uncontrolled resource consumption and relay-to-host network amplification. The reconnect request handler lacks table size constraints, rate limiting, and request deduplication, allowing unauthenticated attackers to crash the relay server and overwhelm target hosts.

Vulnerability Overview

QTINeon is a game-agnostic, relay-based UDP multiplayer protocol library developed by Quiet-Terminal-Interactive. In its architecture, the relay server facilitates connections between remote clients and the game host, bypassing NAT restrictions and hiding the host's direct IP address. The system relies on specific UDP packet headers to manage state transitions, including session establishment and reconnections.

Version 1.0.0 of the library exposes an unprotected reconnect flow that can be targeted by remote attackers. While primary connection handshakes implement rate limits and table size constraints, the reconnect request handler lacks these essential security controls. This deficiency introduces a direct path to denial of service through memory exhaustion and packet forwarding amplification.

Root Cause Analysis

The underlying flaw resides within the reconnect processing mechanism, specifically the handleReconnectRequest function. When a client drops offline or attempts to resume an active session, it transmits a RECONNECT_REQUEST packet to the relay. The relay processes this request by registering it inside an internal mapping table named pendingReconnects to track the state of active handshakes.

Two critical flaws are present in this implementation. First, the pendingReconnects map does not enforce a maximum size boundary, meaning the server continues to allocate memory for every unique request it receives. Second, the handler performs no deduplication or rate limiting on incoming client identifiers, allowing a single sender to flood the server and force continuous map insertions.

As a consequence of these design gaps, the relay immediately routes every processed reconnect packet to the game host. The host is forced to process an unthrottled volume of handshakes, leading to system resource exhaustion.

Code Analysis

The following code block demonstrates the difference between the vulnerable implementation in version 1.0.0 and a secure implementation that mitigates the resource allocation and forwarding flaws.

// VULNERABLE: Version 1.0.0 lack of size constraints and validation
public void handleReconnectRequest(ReconnectPacket packet, IPEndPoint clientEndPoint) {
    // No check on pendingReconnects dictionary size
    // No deduplication or validation of packet details
    pendingReconnects[packet.ClientId] = new ReconnectState(packet, DateTime.UtcNow);
    
    // Direct forwarding to host without rate limiting or validation
    ForwardToHost(packet);
}

To remediate this, developers must manually add size-limiting guard clauses, request deduplication, and a timer-based pruning task. The secure pattern checks map thresholds and discards duplicate requests before allocating memory or forwarding traffic.

// SECURE: Implementing bounds checking, deduplication, and rate controls
private const int MaxPendingReconnects = 1024;
 
public void handleReconnectRequest(ReconnectPacket packet, IPEndPoint clientEndPoint) {
    // 1. Enforce size limit to prevent memory exhaustion
    if (pendingReconnects.Count >= MaxPendingReconnects) {
        return;
    }
    
    // 2. Prevent duplicate entries from the same client ID
    if (pendingReconnects.ContainsKey(packet.ClientId)) {
        return;
    }
    
    // 3. Track state with timestamp for automatic expiration
    pendingReconnects[packet.ClientId] = new ReconnectState(packet, DateTime.UtcNow);
    
    // 4. Forward with rate limiting applied
    ForwardToHostWithRateLimit(packet);
}

Exploitation

Exploitation of CVE-2026-54609 requires network access to the UDP port exposed by the QTINeon relay server. An attacker does not require authentication or valid session credentials to interact with the reconnect handler. By generating spoofed UDP packets containing a structured RECONNECT_REQUEST header, the attacker initiates the exploit.

The attacker sends a stream of unique client reconnect requests at a rapid rate. Each packet causes the relay to allocate dynamic memory for a new session structure in the pendingReconnects map. Within seconds, this unconstrained allocation consumes the available memory on the relay host, causing the process to terminate due to out-of-memory errors.

Simultaneously, the relay server acts as an amplifier by forwarding each packet to the target game host. Because the host must process every handshake attempt originating from the trusted relay, its network interface and processor become saturated, disconnecting legitimate players.

Impact Assessment

The security impact of this vulnerability is scored at 8.6 on the CVSS scale, indicating high severity. The CVSS vector highlights that the attack can be executed remotely with low complexity and no privileges. The scope is changed because exploiting the relay server directly impacts the availability of the game host.

Successful exploitation results in a complete denial of service for both the relay and the backend game host. The relay process suffers from memory exhaustion, while the game host experiences network bandwidth saturation and CPU exhaustion. There is no impact on confidentiality or integrity, as the vulnerability does not allow unauthorized data access or modifications.

Remediation

No official patch is currently available for QTINeon version 1.0.0. Organizations deploying this library must implement custom code-level fixes to defend their infrastructure. The primary remediation strategy is the introduction of a maximum capacity constraint on the pendingReconnects mapping table.

Additionally, developers must implement a scheduled pruning routine that automatically evicts handshake entries older than 5 to 10 seconds. Network administrators should deploy rate-limiting rules on routers or firewalls to limit incoming UDP traffic on the relay's service port. Implementing IDS signatures to detect anomalous rates of reconnection request patterns is also recommended.

Technical Appendix

CVSS Score
8.6/ 10
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H

Affected Systems

QTINeon UDP Relay Server

Affected Versions Detail

Product
Affected Versions
Fixed Version
QTINeon
Quiet-Terminal-Interactive
== 1.0.0None
AttributeDetail
CWE IDCWE-400
Attack VectorNetwork (AV:N)
CVSS Score8.6
ScopeChanged (S:C)
ImpactAvailability (A:H)
Exploit Statusnone
KEV StatusNot Listed

MITRE ATT&CK Mapping

T1499Endpoint Denial of Service
Impact
T1498Network Denial of Service
Impact
CWE-400
Uncontrolled Resource Consumption

The product does not properly control the allocation and maintenance of a limited resource, enabling an actor to cause resource exhaustion.

Vulnerability Timeline

Vulnerability identified and disclosed via GitHub Security Advisory
2026-03-02

References & Sources

  • [1]GitHub Security Advisory (GHSA)
  • [2]CVE Record on CVE.org

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•31 minutes ago•CVE-2026-92941
10.0

CVE-2026-92941: Sandbox Escape and Process-Wide TLS Trust Store Manipulation in vm2

CVE-2026-92941 is a critical sandbox-escape and trust-manipulation vulnerability in the vm2 library (versions 3.11.3 to 3.11.6). This security flaw allows untrusted code executing within a NodeVM sandbox environment to compromise the global TLS trust store of the host Node.js process. By leveraging a design flaw where the host's native 'tls.setDefaultCACertificates' can be executed via a proxy wrapper, combined with a bridge unwrapping bypass in the 'url' module, an attacker can modify the process-wide default root Certificate Authorities. Consequently, all subsequent outbound TLS/HTTPS clients running on the host thread are forced to trust attacker-signed certificates, facilitating transparent Man-in-the-Middle (MitM) attacks. The vulnerability was resolved in version 3.11.7 of vm2 by introducing built-in member-level sanitization before applying read-only proxy wrappers.

Amit Schendel
Amit Schendel
1 views•10 min read
•about 1 hour ago•CVE-2026-92944
9.8

CVE-2026-92944: Sandbox Escape in vm2 via Stale V8 PromiseThenLookupChain Protector

A critical engine-level reachability failure in Node.js 26 running V8 14.6 allows attackers to escape the vm2 sandbox environment. When consecutive prototype properties are modified using sequential assignments, a V8 optimization bug fails to invalidate the PromiseThenLookupChain protector. By calling Promise.prototype.finally, the attacker bypasses the vm2 wrappers, hijacks the promise reaction using a custom constructor, triggers a calibrated stack overflow to capture a host-realm RangeError, and executes arbitrary shell commands on the host.

Alon Barad
Alon Barad
3 views•8 min read
•about 3 hours ago•CVE-2026-92939
9.9

CVE-2026-92939: Critical Sandbox Escape via Host Crypto setEngine Native Code Execution in vm2

A critical sandbox escape vulnerability in the vm2 library allows sandboxed JavaScript code to bypass containment and execute arbitrary native code on the host process. This occurs when the host's builtin crypto module is exposed to the NodeVM environment. Although vm2 implements a read-only proxy layer to restrict direct modifications to host properties, it does not prevent invocation of host-level functions. By calling the crypto.setEngine API with a path to a malicious native library on disk, an attacker can trigger OpenSSL's dynamic module loader. The host's operating system loader immediately runs the dynamic library's initializers/constructors before verifying engine compatibility, leading to remote code execution in the context of the host process.

Amit Schendel
Amit Schendel
4 views•5 min read
•about 4 hours ago•CVE-2026-92938
9.9

CVE-2026-92938: Remote Code Execution in vm2 via node:sqlite DatabaseSync Sandbox Escape

CVE-2026-92938 is a critical sandbox escape vulnerability in the vm2 library (versions 3.11.3 through 3.11.6) that allows arbitrary native code execution on the host when the node:sqlite built-in module is loaded inside a sandboxed NodeVM environment.

Amit Schendel
Amit Schendel
6 views•8 min read
•about 5 hours ago•CVE-2026-92937
10.0

CVE-2026-92937: Sandbox Escape leading to Remote Code Execution via Promise Indirection in vm2

CVE-2026-92937 is a critical sandbox escape vulnerability in the `vm2` Node.js library. Due to a logical failure in checking direct invocation targets inside the Proxy bridge, an attacker can register Promise callbacks using `Function.prototype.call` or `Function.prototype.apply` indirection. This bypasses the error sanitization wrappers, delivering raw host error objects directly to sandboxed callbacks and allowing the attacker to escape the sandbox and execute arbitrary shell commands on the host.

Amit Schendel
Amit Schendel
6 views•6 min read
•about 6 hours ago•CVE-2026-92935
9.5

CVE-2026-92935: Remote Code Execution via Array-Shaped Require Config in vm2 NodeVM Sandbox

CVE-2026-92935 is a critical sandbox escape and remote code execution vulnerability in the vm2 library. By supplying an array or exotic object to the require property of NodeVM while nesting is enabled, attackers can bypass security checks, load the host vm2 module, and run arbitrary shell commands on the hosting server.

Alon Barad
Alon Barad
5 views•7 min read