Deception Check ← all research
Threat research · vulnerability watch

NetScaler CVE-2026-19490:
patch the gateway. Check the access.

A public proof of concept and reported exploitation attempts make this an urgent review for NetScaler owners. Establish which gateways are affected, assign the updates, and give the access review an owner as well.

Deception Check  |  September 5, 2026  |  CVSS v4.0 9.3  |  NetScaler ADC and Gateway
The Deception Check

An absent KEV entry or a quiet sensor is not a compensating control.

  • Act: identify affected customer-managed NetScaler appliances, confirm the build and configuration, and apply the vendor's fix.
  • Investigate: review authentication and session records alongside patching, and follow up on decoy or bait alerts.
  • Verify: use direct appliance checks to establish your exposure. Internet search totals need query and host-level scrutiny before they inform a risk decision.

Start with the build, then the configuration

CVE-2026-19490 is an authentication bypass in NetScaler ADC and NetScaler Gateway, rated 9.3 under CVSS v4.0 and classified as CWE-288. Citrix disclosed it on August 19. Its preconditions depend on the release, the Gateway or AAA role, and, on newer affected builds, a configured SAML action. Citrix's bulletin is the authority for the affected configurations and fixes.

For a remote-access gateway, authentication is the boundary between an internet request and access to internal services. A bypass puts that boundary at risk without requiring the attacker to know a user's password. The immediate task is to establish which of your appliances meet the preconditions.

Standard 14.1 and 13.1: three checks, in this order

Evaluate the build before the feature configuration. For FIPS and NDcPP, use the branch-specific guidance in the table.

  1. Is this a fixed build in the correct release train?

    Compare with the minimum fixes below. Standard, FIPS, and NDcPP builds have different boundaries.

    At or above the fix: this CVE is addressed.

    Below the fix: continue to the role check.

  2. Is Gateway or an AAA virtual server configured?

    Gateway roles include SSL VPN, ICA Proxy, Clientless VPN, and RDP Proxy.

    Neither role: the listed role precondition is absent.

    Either role: check the SAML requirement for this build.

  3. Does this affected build also require a SAML action?

    On the newer affected builds listed below, both the role and a SAML action are required. Older listed builds meet the precondition on the role alone.

    Preconditions met: upgrade the affected appliance.
Configuration checks determine applicability; a quiet log or an internet-search label does not. This flow covers the vendor-listed preconditions for CVE-2026-19490, not every vulnerability on the appliance.
Vendor-listed minimum fixed builds
Release trainMinimum fixPreconditions on builds below the fix
14.114.1-73.32Gateway or AAA. A SAML action is also required on 14.1-43.56 and later affected builds; 14.1-43.55 and earlier require the role alone.
13.113.1-63.21Gateway or AAA. A SAML action is also required on 13.1-61.28 and later affected builds; 13.1-61.27 and earlier require the role alone.
14.1 FIPS14.1-73.32-FIPSGateway or AAA. The bulletin specifies an additional SAML action for 14.1-66.68-FIPS and later affected builds. Check the bulletin for your exact FIPS build.
13.1 FIPS13.1-37.277Gateway or AAA; the bulletin's 13.1 FIPS condition does not require a SAML action.
13.1 NDcPP13.1-37.277Listed as affected below the fix, without a separately stated NDcPP precondition. Do not use absence of SAML to rule out exposure.

These are vulnerability boundaries, not a recommendation to install an older package. Choose the current supported build in your release train; 14.1-73.33 replaced 14.1-73.32. Move end-of-life installations to a supported release, replace unsupported hardware, or remove the exposure.

Check the running configuration.
  • add vpn vserver
  • add authentication vserver
  • add authentication samlAction
Look for the applicable role and SAML entries, then apply the build-specific conditions above. These are configuration strings to inspect, not commands to add features.

The bulletin covers customer-managed instances. Citrix-managed cloud services and Adaptive Authentication are upgraded by Cloud Software Group; customer-managed instances used by hybrid deployments still require customer action.

Public code changes the urgency

From disclosure to reported attempts

Aug 19
DisclosureCitrix publishes CTX696939.
Sep 2
Public PoCThe cited proof-of-concept repository appears.
Sep 3
Attempts observedPrevidian records matching requests on a NetScaler sensor.

September 5 snapshot: Previdian reports 10 attempts from six source IPs on one sensor, with observations through September 4.

Citrix disclosure; public-PoC and initial attempt reporting; Previdian's updated sensor report. The report concerns exploitation attempts, not demonstrated compromise of a production appliance.

Public code lowers the effort required to attempt exploitation. Prioritize affected internet-facing appliances even when reported attempt counts are small; those counts describe the sensors that observed them, not your own exposure.

CVE-2026-19490 was not in CISA's Known Exploited Vulnerabilities catalog when checked on September 5, against catalog version 2026.09.04. KEV is a valuable prioritization signal; the public PoC and reported attempts already warrant action on affected gateways.

What our edge decoys recorded

Across five Deception Check appliance decoys, the August 1 through September 3 summaries contain 420,172 HTTP requests. Only 28 matched the NetScaler login and client-resource paths we examined. Twenty-five arrived in the four days before disclosure.

28 matching requests before and after disclosure

Requests for selected NetScaler paths on five Deception Check decoys, August 1 through September 3, 2026. Dates below show the nonzero days.

  • 2
  • 5
  • 10
  • 6
  • 4
  • 1
Before disclosureAfter disclosure
First-party background-scanning context, not a measurement of this CVE's exploitation. Bar lengths represent counts on the same scale.

On August 30 and 31, a Deception Check edge decoy emulating a FortiGate VPN gateway recorded 48,408 login submissions to /logincheck. Across our appliance-emulation fleet, we also captured requests for NetScaler login pages and client resources, even though none of those decoys emulated NetScaler.

Those cross-product probes are consistent with broad, automated scanning. The NetScaler paths show what the incoming traffic was looking for, even on decoys emulating other systems. Keeping the requested paths, login submissions, and surrounding activity gives a defender more to work with than a connection count alone.

The seven paths and their observed counts
/vpn/index.html
6
/logon/LogonPoint/index.html
5
/logon/LogonPoint/tmindex.html
5
/logon/LogonPoint/custom.html
5
/vpn/js/rdx/core/lang/rdx_en.json.gz
5
/ng/vpn/map/map_app.zip
1
/logon/LogonPoint/
1

The language resource rdx_en.json.gz is particularly useful in a hunt: its GZIP timestamp metadata can help fingerprint the build, as Fox-IT's original research explains. Look for repeated resource enumeration by sources that do not proceed through your normal authentication flow. These resources also have legitimate uses; the sequence and context matter more than one request.

A login page is a match, not a verdict

During our September 5 Shodan review, a familiar “Citrix Gateway” page led us to an apparent decoy cluster. It is a good example of why an exposure number needs checking before it reaches a risk briefing: the search may be counting matching services that do not represent production appliances.

How the query changes the result

Recorded service-search results, September 5, 2026. These are query snapshots, not a subtraction funnel or confirmed vulnerable-device counts.

17,260
Matching login-page titleBroad title search across indexed services.http.title:"Citrix Gateway"
7,282
Title plus one reported buildA cluster worth examining for shared response artifacts.http.title:"Citrix Gateway" version:"13.1-45.64"
7,596
A narrower, differently filtered queryPort 443 only, excluding that version label.http.title:"Citrix Gateway" -version:"13.1-45.64" port:443

The exclusion can remove genuine appliances too. Remaining matches are not thereby verified as real or vulnerable.

Source: recorded Shodan query snapshots. Shodan indexes service banners; counting distinct IPs and checking what each service represents are separate steps. Shodan query syntax.

The cluster's organization facet concentrated results in thirteen hosting organizations. In a separate TLS-facet snapshot, 289 of the 291 results with a JARM value shared the same fingerprint. That fingerprinted subset is only a small part of the broader query, but it provided a useful lead.

Recorded sample results showed repeated page metadata and self-signed certificate details across locations. One sampled host returned the same 2,808-byte login page on hundreds of ports. Together, these observations support an apparent decoy-template explanation. They do not establish who operates it or classify every result in the query.

Before using an exposure number in a risk decision:

  • Keep the query with the number. Product, title, version, port, and observation date change the population.
  • Separate services from hosts. One IP can expose many matching banners; a unique IP still does not prove a production appliance.
  • Inspect repetition. Shared pages, certificate details, and unusual port coverage are reasons to investigate a cluster, not automatic actor attribution.
  • Confirm your own assets directly. A banner does not establish the running configuration or patch status. Missing version labels do not mean an appliance is patched.

Copied bait can produce a callback in minutes

To examine what followed a bait retrieval, we reviewed a separate Deception Check dataset. Our HTTP honeytoken collector recorded 85 callback events involving issued bait tokens. In 36 traceable journeys, a retrieval was followed by a callback from a different source address. These are bait interactions, not evidence of successful use of a real credential or exploitation of this Citrix vulnerability.

How quickly did the callbacks arrive?

12.6 min

Median retrieval-to-callback interval

36 journeys. Every interval shown.Each dot is one traceable cross-address journey, aligned at retrieval. Vertical stacks separate nearby values.

Minutes after retrieval

30 seconds shortest24.5 minutes longestAug 2 to 29 2026, UTC
View the 36 exact intervals

Seconds after retrieval, sorted shortest to longest:

30, 175, 178, 182, 183, 215, 216, 226, 252, 285, 286, 296, 308, 315, 671, 713, 750, 755, 759, 786, 792, 795, 827, 830, 833, 856, 859, 870, 885, 886, 899, 933, 958, 1017, 1433, 1471.

First-party linked honeytoken records, reviewed September 5. The reveal is accelerated; horizontal positions show the measured intervals, not animation time. The exact median is 757 seconds.

A different address can still be the same network

All 36 linked journeys changed source address. 31 stayed within the same ASN; five crossed ASNs. An ASN identifies a network, not an individual operator.

  1. Fetching networkTencent CloudAS132203
    30 journeys, same ASN
    Callback sourceTencent CloudAS132203
  2. Fetching networkAdvinAS206216
    1 journey, same ASN
    Callback sourceAdvinAS206216
  3. Fetching networkComcastAS7922
    2 journeys, different ASNs
    Callback sourceDatacampAS212238
  4. Fetching networkAlibabaAS45102
    1 journey, different ASNs
    Callback sourceTencent CloudAS132203
  5. Fetching networkScalewayAS12876
    1 journey, different ASNs
    Callback sourceZencurityAS57860
  6. Fetching networkAS58087
    1 journey, different ASNs
    Callback sourceQuintexAS62744
Same ASN, different addressDifferent ASNs
Paired network aggregates for the 36 linked honeytoken journeys. The moving pulses illustrate the relationship between retrieval and callback, not packet routes, geographic travel, or measured transit time. Counts show journeys, not unique operators.

In 31 of the 36 journeys, the callback source address was in Tencent Cloud: 30 followed a Tencent retrieval, and one followed an Alibaba retrieval. The recurring timing below is consistent with scheduled automation.

Callbacks concentrated on four Saturdays

27 of 31 Tencent Cloud callbacks fell on four consecutive Saturdays. The other four occurred on Sunday, August 2.

August 2026 · UTCLarge numbers = callbacks
  1. 4 callbacks
  2. No callbacks in this cohort
  3. No callbacks in this cohort
  4. No callbacks in this cohort
  5. No callbacks in this cohort
  6. No callbacks in this cohort
  7. 6 callbacks
  8. No callbacks in this cohort
  9. No callbacks in this cohort
  10. No callbacks in this cohort
  11. No callbacks in this cohort
  12. No callbacks in this cohort
  13. No callbacks in this cohort
  14. 6 callbacks
  15. No callbacks in this cohort
  16. No callbacks in this cohort
  17. No callbacks in this cohort
  18. No callbacks in this cohort
  19. No callbacks in this cohort
  20. No callbacks in this cohort
  21. 8 callbacks
  22. No callbacks in this cohort
  23. No callbacks in this cohort
  24. No callbacks in this cohort
  25. No callbacks in this cohort
  26. No callbacks in this cohort
  27. No callbacks in this cohort
  28. 7 callbacks

A recurring evening windowAll 27 Saturday callbacks arrived between 17:16 and 22:45 UTC.

Counts are limited to the 31 Tencent-destination journeys, not all collector events. The date reveal is accelerated. Shared hosting and recurring timing are correlation context, not proof of one operator or grounds to block an entire provider.

Route bait alerts to a team that can investigate promptly. Preserve the token identifier, retrieval and callback times, source context, and request details. Use the network and timing patterns to identify possible connections between events, then test those connections against the request details.

What to do on your edge

  1. 1. Upgrade affected appliances.

    Use the current supported build in the correct train. Include customer-managed hybrid instances, and verify the result on each relevant node before closing the change.

  2. 2. Verify any claimed interim protection.

    The advisory lists no workaround. Where supported, verify Global Deny List prerequisites, signature delivery, and whether the vendor identifies coverage for this CVE. Console management alone does not establish protection. Follow the vendor's prerequisites; this is not a substitute for upgrading.

  3. 3. Correlate gateway and identity-provider records.

    Where the configured authentication flow uses an IdP, investigate new Gateway or AAA sessions that cannot be reconciled with its authentication or assertion records. Check log completeness and normal SSO/session reuse before treating a mismatch as suspicious. Review unexpected accounts, destinations, and access times alongside that correlation.

  4. 4. Review access that a patch does not revoke.

    Investigate suspicious sessions and revoke them through your incident-response process. Rotate credentials or secrets that may have been exposed. Coordinate a full session reset if warranted, including user disruption and HA or cluster handling; do not assume a software upgrade proves earlier access was legitimate.

  5. 5. Add visibility behind the gateway.

    Segment the services the gateway reaches. A decoy application, file share, or honeytoken behind that boundary can alert when someone interacts with it. That complements gateway logs and patching; it does not protect an unpatched appliance from this flaw.

The update and the access review may sit with different teams. Give each an owner, agree what evidence is needed to close the work, and carry unresolved access concerns into the incident-response process.

ATT&CK context: T1190, Exploit Public-Facing Application, describes the exploit path; T1133, External Remote Services, describes the remote-access context. These are conceptual mappings, not techniques established by our honeytoken callbacks.

Sources and measurement notes

How to read our first-party measurements

The fleet analysis covers five decoys emulating a FortiGate gateway, an identity service, vManage, a Lantronix device, and a DICOM service, from August 1 through September 3. The supplied extraction summaries report deduplication by session, timestamp, and path. We reconciled their daily and path totals; the raw archive was not rerun for this revision. These are incidental path requests, not a CVE exploitation count.

The honeytoken aggregate was generated September 5 at 00:22 UTC and reports 8,703 issued tokens and 85 callback events. The later journey export contains the 36 linked cross-address records used here, dated August 2 through 29. We recomputed their timing and recurrence. Twenty-two CDN-masked incidents were excluded from cross-address tracing; they are not treated as direct client attribution. No callback rate across issued tokens is inferred.

Shodan figures are recorded September 5 service-query snapshots, not a live census. The title/version and JARM facets were captured separately, so small snapshot differences are not combined into a common denominator. Original summaries, query captures, file hashes, and review notes are retained internally. We did not execute the public PoC.