A denial-of-service grenade you can lob at NetScaler, but only if the appliance is wearing one of three specific hats
CVE-2026-8655 is a cluster of memory-overflow bugs in Citrix NetScaler ADC and NetScaler Gateway that trigger *unpredictable behavior* and denial of service when the appliance is configured as a Load Balancer of type Oracle, a DNS Proxy, or a DNS recursive resolver. Affected builds are NetScaler ADC/Gateway 14.1 < 14.1-72.61 and 13.1 < 13.1-63.18, plus the FIPS and NDcPP variants (13.1-37.272 FIPS/NDcPP and 14.1-72.61 FIPS). The bug is reachable over the network with no authentication and no user interaction — but the *reachable* payload is availability, not code execution.
The vendor originally stamped this CRITICAL 9.8 in the initial advisory feed, but Citrix's own CVSS v4 vector tells the truer story: VC:L/VI:L/VA:H — high availability impact, only low confidentiality and integrity. That is a DoS bug with edge-appliance blast radius, not a remote code execution. CRITICAL is inflated; HIGH is correct. The impact is real (edge outages take VPN and app access down for the whole workforce), but the ceiling is a crash loop, not a shell.
4 steps from start to impact.
Locate a reachable NetScaler with a vulnerable role
- Network reachability to the NetScaler VIP or DNS listener
- Appliance in Oracle-LB / DNS-Proxy / DNS-recursive-resolver config
- Most NetScaler estates are used for HTTP LB, ICA/VPN Gateway, or SSL offload — not Oracle LB or DNS resolution
- Externally exposed DNS resolvers on NetScaler are uncommon compared with BIND/Unbound/Route53
runZero released a query set on 2026-07-01 for the six-CVE clusterCraft the malformed protocol payload
CWE-119 — buffer boundary violation). No public PoC has surfaced as of 2026-07-05; researchers rely on the Citrix advisory pattern and prior NetScaler bug classes for hypothesis.- Ability to send arbitrary bytes to the vulnerable listener
- Knowledge of the specific malformed structure
- No public PoC yet; EPSS is 0.0046 (<1st percentile) reflecting no observed exploitation
- Oracle-LB path requires the attacker to be on a network segment that reaches an internal DB-facing VIP
Trigger overflow → crash / erratic behavior
- Payload survives any front-end WAF/IDS between attacker and NetScaler
- High-availability NetScaler pairs will fail over; a single-shot crash does not equal sustained outage unless the attacker sustains the flood
sysHealth traps fire on packet-engine bounceBusiness impact: edge outage
L/L, meaning limited information leakage at best, not code execution.- Attacker sustains the exploit; no automatic failover mitigates
- Enterprises with active/active or GSLB regional failover absorb a single-node crash
- The bug does not persist across reboot in any documented way
The supporting signals.
| In-the-wild exploitation | None observed as of 2026-07-05. Not KEV-listed. GreyNoise tags for the CVE cluster are quiet. |
|---|---|
| Public PoC | No public PoC. No GitHub repo, no Metasploit module. Researchers are working from the Citrix advisory only. |
| EPSS | 0.0046 — bottom decile. Reflects lack of PoC and narrow config prerequisites. |
| KEV status | Not listed. Sibling CVE-2026-8451 (file read) is a more likely KEV candidate than this DoS. |
| CVSS interpretation | Vendor v3.1 vector AV:N/AC:L/PR:N/UI:N/C:H/I:H/A:H = 9.8 is *inconsistent* with Citrix's own v4 vector VC:L/VI:L/VA:H = 8.8. The v4 vector is the honest read: DoS with limited info leak, not RCE. |
| Affected versions | NetScaler ADC/Gateway 14.1 < 14.1-72.61, 13.1 < 13.1-63.18, 13.1-FIPS/NDcPP < 13.1-37.272, 14.1-FIPS < 14.1-72.61-FIPS. Secure Private Access on-prem/hybrid inherits the ADC fix. |
| Fixed versions | 14.1-72.61, 13.1-63.18, 13.1-37.272 FIPS/NDcPP, 14.1-72.61 FIPS. No mitigations other than upgrade per Citrix. |
| Scanning / exposure | Shodan shows ~29k internet-facing NetScaler instances globally (2026-07-04); only a fraction expose DNS Proxy/recursive on the data plane. Oracle-LB configs are almost never internet-facing. |
| Disclosure | 2026-06-30 in Citrix bulletin covering CVE-2026-8451, 8452, 8655, 10816, 10817, 13474. |
| Reporter | Citrix credited external researchers via coordinated disclosure; specific attribution not published in the bulletin. |
noisgate verdict.
The decisive factor is impact ceiling: this is a denial-of-service bug on a network-edge appliance, not remote code execution — Citrix's own CVSS v4 vector (VC:L/VI:L/VA:H) contradicts the 9.8 v3.1 label. It stays HIGH rather than dropping further because the affected component is a canonical network edge appliance — availability loss equals workforce-wide VPN/app outage.
Why this verdict
- Impact ceiling is availability, not code execution: Citrix's v4 vector caps confidentiality/integrity at Low. The vendor 9.8 is a v3.1 auto-inflation; the true blast radius is crash/erratic behavior.
- Narrow config prerequisites: Only Oracle-LB, DNS Proxy, and DNS recursive resolver configurations are affected. Most enterprise NetScaler deployments are Gateway/ICA/HTTP-LB and are not on the target list. This is a compounding downward pressure — estimate <15% of deployed NetScaler instances match a vulnerable role.
- Role multiplier — network edge appliance: NetScaler ADC/Gateway is on the canonical high-value-role list (edge). Even for a DoS-only bug, availability loss on the edge is a fleet-scale outage for the workforce behind it. This is why the verdict floors at HIGH rather than falling to MEDIUM despite the narrow config gate.
- No exploitation signal: EPSS 0.0046, not KEV, no public PoC. GreyNoise is quiet. This lowers urgency below the RCE siblings in the same bulletin (CVE-2026-8451 file read is the one attackers will grab first).
- Unauthenticated + network reachable keeps this above MEDIUM: when a vulnerable configuration exists, no auth is required to trigger it.
Why not higher?
CRITICAL requires either RCE-class impact or an active exploitation signal on a canonical high-value role. Neither holds: the vector is DoS-primary and there is no in-the-wild evidence. Sibling CVE-2026-8451 (file read, potential session token exposure) is the CRITICAL-caliber bug in this bulletin, not 8655.
Why not lower?
MEDIUM would ignore the deployment role — a DoS on the enterprise VPN/app edge is not equivalent to a DoS on a leaf service. The unauthenticated, network-reachable nature and the fleet-scale availability blast radius keep this firmly HIGH.
What to do — in priority order.
- Restrict DNS Proxy / recursive-resolver listeners to trusted segments — If the appliance runs
add dns nameServeroradd lb vserver … DNS, ACL the listener via NetScaler Access Control Lists or upstream firewall to internal resolvers only. Do this within 30 days per the noisgate mitigation SLA for HIGH. - Front the Oracle-LB VIP with a segmentation firewall — Oracle-LB VIPs should never be reachable from user segments. If they are, add a stateful firewall rule allowlisting only application-tier source IPs. Complete within 30 days.
- Confirm HA pair is active/passive and health checks trigger failover — A single-node crash should not cause user-visible outage if HA is healthy. Run a failover drill and validate
show ha nodestate. Do this alongside patch scheduling. - Upgrade to the fixed builds — Move to
14.1-72.61,13.1-63.18, or the matching FIPS/NDcPP builds within the noisgate remediation window of 180 days — sooner if any of the sibling CVEs in the same bulletin (especially CVE-2026-8451) apply.
- AAA / MFA on the Gateway VIP — the bug is in the DNS/Oracle-LB code path, not the auth vserver. AAA does not gate this attack surface.
- WAF signatures on HTTP traffic — the trigger is a DNS or Oracle TNS packet, not HTTP. Web WAF rules will never see it.
- Disabling nsroot / management interface hardening — CVE-2026-8655 is a data-plane bug. Management-plane hardening is good hygiene but irrelevant here.
- Rate limiting on the SSL/TLS listener — the flood target is the DNS or Oracle-LB packet engine, not TLS. TLS-only rate limits will not throttle the trigger.
Crowdsourced verification payload.
Run on the NetScaler shell as nsroot (or any read-capable admin) to compare the running build against the fixed thresholds. Example: ssh nsroot@netscaler01 'bash /var/tmp/check_cve_2026_8655.sh'. No write privileges required.
#!/usr/bin/env bash
# noisgate: CVE-2026-8655 NetScaler ADC/Gateway version check
# Run on the NetScaler BSD shell as nsroot or read-capable admin.
set -u
VERSION_RAW=$(/netscaler/nsapimgr -d version 2>/dev/null || show ns version 2>/dev/null || uname -a)
BUILD=$(echo "$VERSION_RAW" | grep -oE 'NS[0-9]+\.[0-9]+[[:space:]]+Build[[:space:]]+[0-9]+\.[0-9]+' | head -n1)
if [ -z "$BUILD" ]; then
echo "UNKNOWN: could not parse NetScaler version from: $VERSION_RAW"
exit 2
fi
TRAIN=$(echo "$BUILD" | grep -oE 'NS[0-9]+\.[0-9]+' | tr -d 'NS')
BUILDNUM=$(echo "$BUILD" | awk '{print $NF}')
MAJOR=$(echo "$BUILDNUM" | cut -d. -f1)
MINOR=$(echo "$BUILDNUM" | cut -d. -f2)
IS_FIPS=0
echo "$VERSION_RAW" | grep -qiE 'FIPS|NDcPP' && IS_FIPS=1
case "$TRAIN" in
14.1)
# Fixed: 72.61 (both non-FIPS and FIPS)
if [ "$MAJOR" -gt 72 ] || { [ "$MAJOR" -eq 72 ] && [ "$MINOR" -ge 61 ]; }; then
echo "PATCHED: 14.1 build $BUILDNUM >= 72.61"; exit 0
else
echo "VULNERABLE: 14.1 build $BUILDNUM < 72.61 (fixed in 14.1-72.61)"; exit 1
fi
;;
13.1)
if [ "$IS_FIPS" -eq 1 ]; then
# Fixed FIPS/NDcPP: 37.272
if [ "$MAJOR" -gt 37 ] || { [ "$MAJOR" -eq 37 ] && [ "$MINOR" -ge 272 ]; }; then
echo "PATCHED: 13.1-FIPS build $BUILDNUM >= 37.272"; exit 0
else
echo "VULNERABLE: 13.1-FIPS build $BUILDNUM < 37.272"; exit 1
fi
else
# Fixed: 63.18
if [ "$MAJOR" -gt 63 ] || { [ "$MAJOR" -eq 63 ] && [ "$MINOR" -ge 18 ]; }; then
echo "PATCHED: 13.1 build $BUILDNUM >= 63.18"; exit 0
else
echo "VULNERABLE: 13.1 build $BUILDNUM < 63.18 (fixed in 13.1-63.18)"; exit 1
fi
fi
;;
*)
# 12.x is EoL; 13.0 is EoL. Anything else = out of support.
echo "UNKNOWN: train $TRAIN is not covered by CVE-2026-8655 advisory or is end-of-life"; exit 2
;;
esac
If you remember one thing.
14.1-72.61 or 13.1-63.18. Then filter aggressively — this bug only fires on Oracle-LB, DNS Proxy, or DNS recursive resolver configs, so grep ns.conf for add lb vserver … ORACLE, add dns nameServer, and set dns parameter -recursion ENABLED. Anything matching both is on the fast track; per the noisgate mitigation SLA for HIGH, ACL the vulnerable listeners to trusted segments within 30 days, and per the noisgate remediation SLA upgrade to the fixed builds within 180 days. Prioritize the sibling CVE-2026-8451 (file read) in the same bulletin ahead of this DoS — if you're touching NetScaler anyway, patch the whole cluster of six CVEs in one change window. Do not treat this as a 9.8 fire drill; treat it as a real HIGH on the edge appliance that runs your workforce access.Sources
- Citrix / NetScaler Security Bulletin (mirror, Kraft Kennedy)
- The Hacker News — Citrix Patches Six NetScaler Flaws
- SecurityWeek — Citrix Patches NetScaler Vulnerabilities Including HTTP/2 Bomb
- runZero — NetScaler ADC & Gateway impacted-systems query
- GBHackers — NetScaler Memory Overread and DoS
- CybersecurityNews — NetScaler DoS and Memory Overflow
- CCB Belgium — Advisory on Citrix NetScaler high-severity cluster
- OffSeq Threat Radar — NetScaler HTTP/2 Bomb & sibling CVEs
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.