Categories
CVE-2026-54609 high CVSS 8.6

Vulnerability in com.quietterminal:qti-neon (CVE-2026-54609)

Summary

Vulnerability in com.quietterminal:qti-neon (CVE-2026-54609). Risk of unauthorized operations or information disclosure. Exploitable via RECONNECT_REQUEST.

Original description

The description as published by the source.

Impact

The relay's reconnect handler forwards every RECONNECT_REQUEST to the host without deduplication or a size cap on the pendingReconnects map, unlike the connect flow which guards against this with maxPendingConnections. An unauthenticated attacker who knows a valid session ID can send RECONNECT_REQUEST packets from many spoofed source addresses; each packet that passes the session lookup is forwarded to the host as a new reconnect attempt. Because the per-source rate limiter assigns a fresh token bucket to each spoofed IP, it provides no protection. The host receives one forwarded packet per spoofed source per cleanup cycle, making the relay an amplification vector for denial-of-service against the host. The host's real address is never exposed to clients by design, so this is the primary viable DoS path against it. A secondary issue: once more than maxRateLimiters spoofed IPs are seen, performCleanup calls rateLimiters.clear(), resetting rate limit state for all sources including legitimate ones.

Affected: NeonRelay in all three implementations (Java, Python, TypeScript).

Patches

Not yet patched. Fix consists of three changes to handleReconnectRequest in each implementation:

  1. Reject the request if pendingReconnects.size() >= maxPendingConnections (mirrors the existing connect-flow guard)
  2. Only forward to the host if the sessionId:clientId key is not already present in pendingReconnects — the map entry can still be updated with the n…

Source: GitHub Security Advisories (Global) NVD GitHub Advisory

Auto-generated summary

Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.

A vulnerability tracked as CVE-2026-54609 has been found in com.quietterminal:qti-neon.
Attackers can target a specific entry point like RECONNECT_REQUEST over the network to misuse the product.
Risk of unauthorized operations or information disclosure. CVSS score: 8.6/10.
What to do: apply the vendor's official patched release.
If unsure, ask your IT team or search "com.quietterminal:qti-neon CVE-2026-54609" on the vendor's site.

CVE-2026-54609 (com.quietterminal:qti-neon) — CWE-400 / CVSS v3 8.6
Attack vector: remote (network-reachable) / unauthenticated / no user interaction
Attack surface: RECONNECT_REQUEST / pendingReconnects / maxPendingConnections / maxRateLimiters
Workaround: Operators can partially mitigate by placing the relay behind a network-level filter that drops packets with spoofed source addresses (BCP38/uRPF).
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.

❓ What is the problem

A vulnerability (CWE-400) exists in com.quietterminal:qti-neon. Attackers reach the vulnerable code path via RECONNECT_REQUEST without authentication.

📍 Affected scope

Check the vendor advisory for the affected versions of com.quietterminal:qti-neon. Attack surface: RECONNECT_REQUEST / pendingReconnects / maxPendingConnections / maxRateLimiters.

🔥 Severity

Severity: High (CVSS 8.6/10). Risk of unauthorized operations or information disclosure.

🔧 How to fix

Update to the patched release per vendor advisory.

🛡️ Workaround

Workaround: Operators can partially mitigate by placing the relay behind a network-level filter that drops packets with spoofed source addresses (BCP38/uRPF).

🔍 Detection

Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Audit SBOM/dependencies to find affected services.

Response actions

Concrete steps and command examples for SOC/SRE teams to execute in order

  1. 1
    Identify exposure identify
    Audit SBOM/dependencies for affected components.

    資産台帳・SBOM・依存マニフェストで com.quietterminal:qti-neon を使っているサービスとバージョンを洗い出す。

  2. 2
    Apply temporary workaround mitigate
    Operators can partially mitigate by placing the relay behind a network-level filter that drops packets with spoofed source addresses (BCP38/uRPF).

    パッチが適用されるまでの応急処置として、Operators can partially mitigate by placing the relay behind a network-level filter that drops packets with spoofed source addresses (BCP38/uRPF). を実施。回避策の副作用 (機能低下) を確認した上で。

  3. 3
    Post-deployment verification verify
    Confirm patched version is live in production

    パッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。

Affected packages

maven com.quietterminal:qti-neon
pip qti-neon
[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}]
npm qti-neon
PyPI qti-neon

References

We use cookies for analytics and ad measurement. This setting applies to all Game co., Ltd. sites. Details