← Back to Feed CACHED · 2026-07-04 16:21:36 · CACHE_KEY CVE-2026-13474
CVE-2026-13474 · CWE-401 · Disclosed 2026-06-30

Denial of service via malformed HTTP/2 requests in NetScaler ADC and NetScaler Gateway if HTTP/2 is enabled…

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

An unauthenticated HTTP/2 bomb that leaks memory on the box guarding your remote-access front door

CVE-2026-13474 is a missing-release-of-memory-after-effective-lifetime flaw (CWE-401) in NetScaler ADC and NetScaler Gateway. A remote unauthenticated attacker sends malformed HTTP/2 requests — stalled streams that never complete — and each request pins buffers that are never freed. Repeat that a few thousand times per second and the appliance exhausts memory, drops legitimate sessions, and eventually needs a reboot. It affects NetScaler ADC/Gateway 14.1 before 14.1-72.61 and 13.1 before 13.1-63.18 (including FIPS and NDcPP variants), but *only* when HTTP/2 is enabled in the HTTP Profile bound to an LB, CS, VPN vserver, or service. 12.1 and 13.0 are EOL and receive no fix.

Citrix labeled it HIGH (7.5); VulDB and third-party trackers reassessed it to 8.7. Reality sits closer to Citrix's number — with a lean upward. It is *availability-only* (no confidentiality/integrity impact), so it is not another CitrixBleed. But the affected device *is* the perimeter: knocking out the ADC pair kills VPN, load-balanced apps, and Gateway-fronted VDI in one shot. For a box whose whole job is uptime, a pre-auth remote DoS is worse than the CVSS math implies.

"HTTP/2 bomb against a perimeter appliance — DoS-only, but the target IS the front door. Patch fast, tune Http2SmallWndTimeout now."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Identify HTTP/2-enabled NetScaler vserver

Attacker fingerprints internet-facing NetScaler Gateway or ADC vservers and checks whether ALPN advertises h2. Tools like nmap --script=http2-info, curl --http2 handshake probes, or mass-scan tooling against port 443 quickly enumerate candidates. Shodan and Censys already tag Citrix NetScaler banners with HTTP/2 support.
Conditions required:
  • Internet-reachable NetScaler vserver (LB, CS, or VPN)
  • HTTP/2 enabled in the bound HTTP Profile
Where this breaks in practice:
  • Some deployments still run HTTP/1.1-only profiles
  • Internal-only ADCs are unreachable without a foothold
Detection/coverage: Shodan/Censys tag NetScaler + h2 combinations; runZero and Tenable Nessus plugin 219xxx family fingerprint HTTP/2 support on Citrix
STEP 02

Weaponize the HTTP/2 stall primitive

Attacker adapts a public HTTP/2 abuse tool — variants of the HTTP/2 Rapid Reset and HTTP/2 MadeYouReset PoCs (Cloudflare, Google, Imperva releases from 2023–2025) plus the newer HTTP/2 Bomb technique tracked as CVE-2026-49975 in Apache — to open thousands of streams with tiny WINDOW_UPDATE values that never drain. Each stalled stream causes NetScaler's HTTP/2 stack to hold buffers indefinitely.
Conditions required:
  • Client HTTP/2 library with fine-grained frame control (nghttp2, h2spec, custom Go net/http2)
Where this breaks in practice:
  • No public PoC specifically for CVE-2026-13474 as of disclosure
  • Generic HTTP/2 flood tools may be caught by upstream WAF rate limiters
Detection/coverage: Cloudflare, Akamai, Imperva, F5 Advanced WAF all have HTTP/2 Rapid Reset detection that catches the family; NetScaler's own WAF signatures do NOT self-protect the management plane
STEP 03

Sustain the leak until exhaustion

Attacker maintains a low-bandwidth stream of malformed HTTP/2 requests from one or a small number of source IPs. Because each request leaks a small allocation rather than saturating bandwidth, traditional volumetric DDoS scrubbers miss it. Memory monitors on the appliance climb until the packet engine restarts or the HA pair fails over — repeatedly.
Conditions required:
  • Sustained reachability for minutes to hours
  • No aggressive per-IP HTTP/2 connection cap upstream
Where this breaks in practice:
  • Http2SmallWndTimeout=30 (once configured) closes stalled streams before they accumulate
  • HA failover masks the impact briefly but does not stop it — the standby leaks too
Detection/coverage: NetScaler nsconmsg memory counters, ADM analytics, and syslog MEMORY_ALLOC_FAILED events; SNMP mempool trending
STEP 04

Outage of VPN / load-balanced apps

With packet engines starved, Gateway VPN sessions drop, load-balanced application vservers stop responding, and admin access to the NSIP may become unreliable. Recovery requires either the Http2SmallWndTimeout tuning, disabling HTTP/2 on affected profiles, or reboot + patch.
Conditions required:
  • Continued attack traffic through the same edge
Where this breaks in practice:
  • Multi-site DNS-based failover reduces the blast radius
  • IP allow-listing on Gateway drastically shrinks the reachable population
Detection/coverage: User-reported VPN failures; APM dip; NetScaler ADM appliance-down alerts
03 · Intelligence Metadata

The supporting signals.

In-the-wild exploitationNone observed as of 2026-07-05. Unlike sibling CVE-2026-8451 (CitrixBleed-3, memory overread) which *is* seeing exploitation, 13474 has no public PoC or campaign attribution.
Public PoCNo CVE-specific PoC. Adjacent family PoCs exist: HTTP/2 Rapid Reset (CVE-2023-44487), MadeYouReset, and Apache HTTP/2 Bomb (CVE-2026-49975) — all trivially portable.
EPSS0.0044 (~0.44%) — low predicted 30-day exploitation likelihood, consistent with DoS-only bugs.
KEV statusNot listed by CISA.
CVSSVendor: HIGH 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H. VulDB rescored to 8.7 citing environmental impact. Pure availability.
CWECWE-401 Missing Release of Memory After Effective Lifetime.
Affected versionsNetScaler ADC & Gateway 14.1 < 14.1-72.61, 13.1 < 13.1-63.18 (incl. FIPS & NDcPP). 12.1 and 13.0 are EOLno fix.
Fixed versions14.1-72.61+, 13.1-63.18+, plus corresponding FIPS/NDcPP builds per Citrix bulletin CTX696604.
Exposure dataShodan/Censys show ~15,000–20,000 internet-facing NetScaler Gateway instances globally; runZero data indicates HTTP/2 is enabled on the majority of modern deployments (default in 14.1).
Disclosure2026-06-30 by Cloud Software Group (Citrix) as part of a six-CVE NetScaler bulletin bundle.
ReporterCloud Software Group internal advisory; researcher credit not publicly attributed.
04 · The Call

noisgate verdict.

Final Verdict
= UNCHANGED to HIGH (7.8/10)

The single decisive factor is role multiplier: the affected component is the perimeter remote-access appliance, so a pre-auth remote DoS translates directly to VPN and load-balanced-app outage for the entire enterprise. That's why we keep the HIGH bucket despite this being an availability-only bug — a workstation-class DoS would be MEDIUM, but taking out the NetScaler HA pair is a business-continuity event.

HIGH Vulnerability details and affected versions
HIGH Role-based blast radius on perimeter appliances
MEDIUM Weaponization timeline given adjacent HTTP/2 PoCs
LOW Likelihood of targeted use vs opportunistic scanning

Why this verdict

  • Pre-auth, remote, network vector — no credentials, no user interaction, and NetScaler Gateway is by design exposed to the internet. Friction to reach step 1 is near-zero.
  • Role multiplier: perimeter appliance. NetScaler ADC/Gateway IS the front door for VPN, VDI, and load-balanced apps. Chain outcome = enterprise-wide remote-access outage. This is a canonical high-value-role component (>10% of installs occupy the high-value edge role by definition) → verdict floor is HIGH.
  • Role multiplier: internal ADCs. For east-west LB deployments not exposed externally, chain requires prior internal foothold and impact is limited to the balanced app tier — MEDIUM outcome, but does not lower the floor.
  • Availability-only — no confidentiality/integrity impact caps this below CRITICAL. The 8.7 rescore from VulDB overweights environmental impact; we stay at 7.8.
  • No KEV, no in-the-wild activity, EPSS 0.44% — pulls the score down inside the HIGH band but not out of it, because the adjacent HTTP/2 Rapid Reset/Bomb tooling makes weaponization cheap.
  • Configuration-gated: vulnerability only fires when HTTP/2 is enabled in an HTTP Profile bound to a vserver. That is the default on modern 14.1 deployments, so it doesn't meaningfully narrow the population.

Why not higher?

CRITICAL requires code execution, data exfiltration, or full appliance takeover. This is memory leak → resource exhaustion → service unavailability. The sibling CVE-2026-8451 (CitrixBleed-3 memory overread) is the CRITICAL — 13474 rides in the same bulletin but doesn't have the same blast radius.

Why not lower?

A pure MEDIUM would ignore the deployment-role floor. Because NetScaler Gateway is the perimeter remote-access appliance, a pre-auth remote DoS is a business-continuity event during any coordinated intrusion — attackers routinely pair a Gateway DoS with a phishing wave to force MFA-bypass workflows. That floors this at HIGH.

05 · Compensating Control

What to do — in priority order.

  1. Set Http2SmallWndTimeout to 30 seconds on every HTTP Profile bound to a vserver — Citrix explicitly calls this out as required in addition to patching, because the default value of 0 does not fully mitigate on non-strict profiles. Run set ns httpProfile <name> -http2SmallWndTimeout 30 for every profile. Deploy within the noisgate 30-day mitigation SLA for HIGH.
  2. Disable HTTP/2 on HTTP Profiles that don't require itset ns httpProfile <name> -http2 DISABLED. Legacy vservers fronting HTTP/1.1-only apps get no benefit from HTTP/2 and lose nothing by turning it off. Do this today on any profile you can, alongside the tuning above.
  3. Rate-limit HTTP/2 SETTINGS/WINDOW_UPDATE floods at upstream WAF/CDN — Cloudflare, Akamai, Imperva, and AWS Shield already ship Rapid Reset / stalled-stream protections. If NetScaler sits behind them, enable those signatures and cap per-source stream creation rates within days.
  4. Restrict Gateway management and low-value vservers to allow-listed source ranges — Anything that doesn't need public reachability shouldn't have it. Shrinks the reachable population dramatically. Bake into your edge firewall config within the same 30-day window.
  5. Upgrade to 14.1-72.61 / 13.1-63.18 (or FIPS/NDcPP equivalents) — The vendor patch is the actual fix. Schedule the HA-pair rolling upgrade within the noisgate 180-day remediation SLA for HIGH, and aim to close within 60 days given the perimeter role.
What doesn't work
  • Rebooting the NetScaler — clears the leak but the next flood re-triggers within minutes.
  • Volumetric DDoS scrubbing — this is a low-bandwidth stall attack; classic pps/bps thresholds won't fire.
  • Enabling NetScaler AppFirewall on the affected vserver — the leak is in the HTTP/2 stack itself, upstream of the WAF policy path.
  • Failing over to the HA standby — the standby has the same vulnerable code and will exhaust identically once traffic swings.
  • IP reputation / geo-blocking alone — attacker only needs one reachable source; the attack is asymmetric.
06 · Verification

Crowdsourced verification payload.

Run this from an auditor workstation with SSH key access to the NetScaler NSIP. Invoke as ./check_cve_2026_13474.sh <nsip> (example: ./check_cve_2026_13474.sh 10.10.10.5). Requires an nsroot-equivalent read-only account to query build version and HTTP profile settings via SSH.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# noisgate: CVE-2026-13474 NetScaler HTTP/2 memory-leak DoS check
# Usage: ./check_cve_2026_13474.sh <NSIP>
set -u
NSIP="${1:-}"
if [[ -z "$NSIP" ]]; then echo "Usage: $0 <NSIP>"; exit 2; fi

SSH_OPTS=(-o StrictHostKeyChecking=no -o ConnectTimeout=8 -o BatchMode=yes)

# 1. Grab firmware version
VER=$(ssh "${SSH_OPTS[@]}" nsroot@"$NSIP" 'show version' 2>/dev/null \
      | grep -oE 'NS[0-9]+\.[0-9]+: Build [0-9]+\.[0-9]+' \
      | head -1)
if [[ -z "$VER" ]]; then echo "UNKNOWN: cannot retrieve version from $NSIP"; exit 3; fi
echo "Detected: $VER"

# 2. Parse major.minor.build
MAJOR=$(echo "$VER" | grep -oE 'NS[0-9]+\.[0-9]+' | tr -d 'NS')
BUILD=$(echo "$VER" | grep -oE 'Build [0-9]+\.[0-9]+' | awk '{print $2}')

vuln=0
case "$MAJOR" in
  14.1)  awk "BEGIN{exit !($BUILD < 72.61)}" && vuln=1 ;;
  13.1)  awk "BEGIN{exit !($BUILD < 63.18)}" && vuln=1 ;;
  13.0|12.1) vuln=1 ;; # EOL, no fix
  *)     echo "UNKNOWN: unrecognized branch $MAJOR"; exit 3 ;;
esac

# 3. Check HTTP/2 enabled profiles bound to vservers
H2_PROFILES=$(ssh "${SSH_OPTS[@]}" nsroot@"$NSIP" \
  'show ns httpProfile' 2>/dev/null | awk '/Name:/{n=$2} /HTTP2:.*ENABLED/{print n}')

if [[ $vuln -eq 1 && -n "$H2_PROFILES" ]]; then
  echo "VULNERABLE: build $MAJOR-$BUILD < patched, HTTP/2 enabled on: $H2_PROFILES"
  exit 1
elif [[ $vuln -eq 1 ]]; then
  echo "VULNERABLE: build $MAJOR-$BUILD < patched (no HTTP/2 profiles seen; still upgrade)"
  exit 1
elif [[ -n "$H2_PROFILES" ]]; then
  # Patched build but verify Http2SmallWndTimeout mitigation
  BAD=$(ssh "${SSH_OPTS[@]}" nsroot@"$NSIP" 'show ns httpProfile' 2>/dev/null \
        | awk '/Name:/{n=$2} /Http2SmallWndTimeout:.*0 /{print n}')
  if [[ -n "$BAD" ]]; then
    echo "PATCHED but MISCONFIGURED: Http2SmallWndTimeout=0 on: $BAD"
    exit 1
  fi
  echo "PATCHED: build $MAJOR-$BUILD and Http2SmallWndTimeout set"
  exit 0
else
  echo "PATCHED: build $MAJOR-$BUILD (HTTP/2 not enabled)"
  exit 0
fi
07 · Bottom Line

If you remember one thing.

TL;DR
Monday morning: inventory every NetScaler ADC/Gateway pair, flag the 14.1 < 72.61 and 13.1 < 63.18 boxes, and run set ns httpProfile ... -http2SmallWndTimeout 30 on every HTTP/2-enabled profile bound to a vserver — that is your noisgate mitigation SLA deadline of ≤ 30 days for HIGH, but for internet-facing Gateway pairs you should compress it to this week. Then schedule the rolling HA upgrade to 14.1-72.61 / 13.1-63.18 (or the matching FIPS/NDcPP build) inside the noisgate remediation SLA window of ≤ 180 days, targeting 60 days for edge-exposed pairs. Bundle this work with the CVE-2026-8451 (CitrixBleed-3) response — you're already touching the same boxes, and 8451 is the one actively being probed.

Sources

  1. Citrix Security Bulletin CTX696604
  2. The Hacker News — Citrix Patches Six NetScaler Flaws
  3. SecurityWeek — HTTP/2 Bomb Attack
  4. VulDB CVE-2026-13474
  5. runZero — Finding impacted NetScaler systems
  6. GBHackers coverage
  7. Kraft Kennedy bulletin summary
  8. Feedly CVE-2026-13474
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.