Citrix NetScaler Authentication Bypass via Alternate Path (CVE-2026-19490)
Detects exploitation attempts against CVE-2026-19490, a CISA KEV-listed authentication bypass (CWE-288) in Citrix NetScaler ADC and NetScaler Gateway. An attacker reaches authenticated-equivalent functionality through an alternate path or channel, bypassing primary authentication controls on the management interface (NSIP) or the Gateway/AAA virtual servers. Detection focuses on anomalous access to authenticated endpoints without a preceding successful authentication event, suspicious requests to alternate/undocumented paths, and post-exploitation session/config manipulation on NetScaler appliances. Affected products: Citrix NetScaler ADC and NetScaler Gateway (see CTX696939 for fixed builds).
Vulnerability Intelligence
KEV — Known ExploitedAffected Software
- Vendor
- Citrix
- Product
- NetScaler
Weakness (CWE)
Timeline
- Disclosed
- September 9, 2026
References & Proof of Concept
- https://support.citrix.com/external/article/CTX696939/netscaler-adc-and-netscaler-gateway-secu.html
- https://www.cisa.gov/news-events/directives/bod-26-04-prioritizing-security-updates-based-risk
- https://www.cisa.gov/news-events/directives/bod-26-04-implementation-guidance-prioritizing-security-updates-based-risk
- https://nvd.nist.gov/vuln/detail/CVE-2026-19490
CVSS
What is CVE-2026-19490 Citrix NetScaler Authentication Bypass via Alternate Path (CVE-2026-19490)?
Citrix NetScaler Authentication Bypass via Alternate Path (CVE-2026-19490) (CVE-2026-19490) maps to the Initial Access and Privilege Escalation tactics — the adversary is trying to get into your network in MITRE ATT&CK.
This page provides production-ready detection logic for Citrix NetScaler Authentication Bypass via Alternate Path (CVE-2026-19490), covering the data sources and telemetry it touches: Citrix NetScaler Syslog, Web Proxy / WAF logs, Network Firewall. The queries below are rated critical severity at medium confidence, and ship for 7 SIEM platforms — KQL, SPL, Elastic, QRadar, Sumo, YARA-L, LogScale.
MITRE ATT&CK
let authEndpoints = dynamic(["/vpn/", "/cgi/", "/nCore/", "/admin/", "/menu/", "/pcidss/"]);
CommonSecurityLog
| where DeviceVendor =~ "Citrix" and DeviceProduct has_any ("NetScaler", "ADC", "Gateway")
| extend ReqPath = tostring(RequestURL)
| where ReqPath has_any (authEndpoints) or ReqPath has_any ("/../", "%2e%2e", "/epa/", "/logon/LogonPoint")
| where (isempty(SourceUserName) or SourceUserName =~ "-" or SourceUserName =~ "anonymous")
| where RequestMethod in ("POST", "GET") and toint(coalesce(tostring(extract("([0-9]{3})", 1, tostring(ResponseCode))), "0")) in (200, 302)
| summarize Hits = count(), Paths = make_set(ReqPath, 20) by SourceIP, DeviceName, bin(TimeGenerated, 10m)
| where Hits >= 3 Flags successful (200/302) requests to NetScaler authenticated/management paths or alternate-channel indicators where no authenticated user is associated, a signature of auth bypass via alternate path.
Data Sources
Required Tables
False Positives
- Legitimate health-check or monitoring probes from load balancers hitting NSIP endpoints without user context
- SSO/federation flows that present anonymous initial requests before redirect
- Vulnerability scanners authorized to probe the appliance management interface
Sigma rule & cross-platform mapping
The detection logic for Citrix NetScaler Authentication Bypass via Alternate Path (CVE-2026-19490) (CVE-2026-19490) above is provided in a vendor-neutral
form so you can deploy it on any SIEM. The same logic is shipped here as native
KQL (Microsoft Sentinel / Defender), SPL (Splunk), Elastic (Elastic Security (EQL)), QRadar (IBM QRadar (AQL)), Sumo (Sumo Logic CSE), YARA-L (Google Chronicle / SecOps), LogScale (CrowdStrike LogScale (CQL)) queries. In Sigma terms, this detection targets the
following logsource:
logsource:
category: network_connection
product: windows Browse the community-maintained Sigma rules for this technique:
Platform-specific guides for CVE-2026-19490
References (4)
- https://support.citrix.com/external/article/CTX696939/netscaler-adc-and-netscaler-gateway-secu.html
- https://www.cisa.gov/news-events/directives/bod-26-04-prioritizing-security-updates-based-risk
- https://www.cisa.gov/news-events/directives/bod-26-04-implementation-guidance-prioritizing-security-updates-based-risk
- https://nvd.nist.gov/vuln/detail/CVE-2026-19490
Testing Methodology
Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Unauthenticated access to NetScaler management path
Expected signal: ns.log/WAF entry recording a GET to /pcidss/ with no associated user and an HTTP 200/302 response.
- Test 2Path traversal alternate-channel probe
Expected signal: Web/WAF log entry containing %2e%2e or /../ in the URL targeting the NetScaler.
- Test 3Repeated unauthenticated endpoint enumeration
Expected signal: Five unauthenticated GET requests to /cgi/ recorded within a short window from one source.
Response Playbook
Triage
- Confirm the NetScaler appliance build is vulnerable per CTX696939; record NSIP, Gateway/AAA vServer configuration, and current firmware version.
- Correlate the alerting source IP against known-good monitoring/load-balancer ranges and authorized scanner inventories to rule out benign unauthenticated traffic.
- Review ns.log and web/WAF logs for the flagged time window to determine whether the unauthenticated requests returned sensitive data or reached configuration/session endpoints.
- Check for creation of new sessions, admin accounts, or bound policies immediately following the suspicious requests.
Containment
- Apply the Citrix-provided fixed build from CTX696939; if patching is delayed, restrict NSIP/management access to a trusted jump network and disable unneeded Gateway features.
- Terminate and invalidate all active ICA/VPN and management sessions (kill nsvpn sessions; rotate the system and service account credentials).
- Block the offending source IP(s) at the perimeter and on the NetScaler responder/ACL policies.
Evidence Collection
- Export ns.log, newnslog, and the configuration (show running config) plus any shell history from the appliance for forensic preservation.
- Capture the full web/WAF and firewall logs covering the detection window, including request bodies where available.
Escalation Criteria
- ! Escalate to incident response if unauthenticated requests succeeded (200/302) against management or config endpoints, indicating confirmed bypass.
- ! Escalate to management and notify per regulatory obligations if new admin accounts, exfiltrated config, or lateral movement from the appliance is observed.
Investigation Guide
Forensic Artifacts
- >
/var/log/ns.log and /var/nslog/newnslog entries showing unauthenticated access to protected paths - >
NetScaler configuration diffs (new vServers, policies, bound scripts) and unexpected files under /var/netscaler/ or /flash/nsconfig/ - >
Active session tables (show aaa session / show vpn session) containing sessions with no corresponding authentication event
Tuning Guidance
Baseline legitimate unauthenticated traffic first: enumerate load-balancer health-check IPs, SSO redirect flows, and authorized scanner ranges, then exclude them via allowlists rather than loosening the path/user conditions. If your NetScaler syslog does not populate a user field on pre-auth requests, pivot the logic to response codes plus path anomalies and add rate thresholds to control volume.
Hunting Queries
Hunts for unauthenticated access to NetScaler alternate/traversal paths across the environment.
CommonSecurityLog | where DeviceVendor =~ "Citrix" | where RequestURL has_any ("/../", "%2e%2e", "/pcidss/", "/epa/") | where isempty(SourceUserName) or SourceUserName == "-" | summarize count() by SourceIP, RequestURL, bin(TimeGenerated, 1h) index=netscaler sourcetype=citrix:netscaler:syslog ("/../" OR "%2e%2e" OR "/pcidss/" OR "/epa/") | rex "User\s+(?<ns_user>[^\s]+)" | search NOT ns_user=* OR ns_user="-" | stats count by src_ip, url Atomic Red Team Tests
Simulates a request to a protected NetScaler endpoint without authentication to generate alternate-path access telemetry.
Command
curl -sk -o /dev/null -w '%{http_code}\n' 'https://netscaler.lab.local/pcidss/report?type=allprofiles&sid=loginchallengeresponse1requestbody' Cleanup
echo 'No local artifacts to clean; remove any captured response files: rm -f /tmp/ns_resp.txt' Expected Telemetry
ns.log/WAF entry recording a GET to /pcidss/ with no associated user and an HTTP 200/302 response.
Expected Detection
KQL/SPL rule fires on unauthenticated successful request to a protected NetScaler path.
Sends an encoded path-traversal request to reach functionality via an alternate path.
Command
curl -sk 'https://netscaler.lab.local/vpn/../vpns/cfg/smb.conf' -H 'User-Agent: atomic-test' Cleanup
echo 'No persistent changes made by this read-only probe.' Expected Telemetry
Web/WAF log entry containing %2e%2e or /../ in the URL targeting the NetScaler.
Expected Detection
Detection rules match on path-traversal alternate-channel indicators without authenticated user.
Issues multiple unauthenticated requests to authenticated endpoints to trigger the volume-based correlation threshold.
Command
powershell -c "1..5 | ForEach-Object { try { Invoke-WebRequest -Uri 'https://netscaler.lab.local/cgi/login' -UseBasicParsing -SkipCertificateCheck } catch {} }" Cleanup
powershell -c "Remove-Variable -Name i -ErrorAction SilentlyContinue" Expected Telemetry
Five unauthenticated GET requests to /cgi/ recorded within a short window from one source.
Expected Detection
Correlation/threshold rule fires when hits >= 3 from a single source with no user context.