If you run Citrix NetScaler ADC or Gateway, you need to do three things now:
- Install the fixed builds (14.1-73.37 or 13.1-64.23, or the corresponding FIPS/NDcPP builds).
- Check the appliance for webshells and other traces of compromise.
- Separate OT remote access from the corporate gateway.
This affects organizations that run vulnerable NetScaler builds. Mandiant names targeted sectors in North America and Europe. At utilities and industrial companies, NetScaler is often the path service providers use to reach control centers and plants.
What happened?
Since early September 2026, a threat actor has been exploiting two zero-days in NetScaler (CVE-2026-88771, CVE-2026-88772). Mandiant does not attribute the activity to a specific actor. Mandiant knows about the exploitation of CVE-2026-88771 only from vendor information. Mandiant describes an exploitation campaign with reconnaissance and credential theft that uses:
- several PHP webshells (including WHIPSHOT)
- a tunneling tool (SLAPSHOT)
- persistence via handlers in
httpd.confand an SUID bit on/bin/sh - credential theft in the internal network
Citrix has released fixed builds.
My assessment: A patch closes the door, but it doesn't throw out anyone who's already inside. So check every appliance for the traces Mandiant describes, even if it is already patched.
Step 1: Patch the right way
- Install the fixed builds (14.1-73.37, 13.1-64.23 or the corresponding FIPS/NDcPP builds) on every ADC and Gateway instance, including test and emergency systems.
- My recommendation as general best practice: terminate all active sessions after patching. That way, sessions that may have been stolen lose their validity.
- Replace older firmware branches that are out of support. Don't keep running them.
Step 2: Check for compromise
A patch does not remove webshells or backdoors. Check every appliance, even if it's already patched:
-
File system: Look for unknown PHP files and unexpected .deb or .sig files in the VPN directories, especially under
/var/netscaler/gui/vpn/scripts/linux/(alsovista/andmac/),/netscaler/ns_gui/vpn/media/and/var/vpn/theme/. Mandiant has published IoCs for this. -
Persistence: Check
/etc/httpd.conffor unknownAddHandlerorAliasMatchentries, check whether/bin/shhas the SUID bit set, and look for/tmp/.uxdportor/tmp/.uxdlockand unexpected Python processes. -
Logs: Go back to early September. Watch for NSPPE crashes (
ssl_handshake_failurewith DTLS, pitboss messages in/var/log/messages) and check the httpaccess and httperror logs for unusual 404 responses with a large body. - Follow-on access: Check whether the NetScaler opened connections into the internal network that aren't part of normal operations.
If you find something, don't just rebuild the appliance. Preserve evidence first, then start incident response and rotate every credential that went through the gateway.
Step 3: Protect your OT
At utilities, municipal utilities (Stadtwerke) and machine builders, NetScaler often fronts more than office IT. Remote maintenance, the control center and service providers' access also run through it. That means:
- Secure Remote Access (SANS CC4): Never route OT remote access straight through the corporate gateway. Use a dedicated jump host with MFA and per-session approval.
- Defensible Architecture (SANS CC2): Put a firewall with clear rules between IT and OT. A compromised gateway must not be able to reach the control systems.
- Network Visibility & Monitoring (SANS CC3): Monitor connections from IT into OT networks. That's where lateral movement shows up first.
If you also use your NetScaler gateway for OT, you've turned an IT problem into a plant problem.
What this means for NIS2 and critical infrastructure (KRITIS)
If you fall under NIS2 and find a compromise, you have reporting obligations with short deadlines. So document the check itself carefully: what you checked, when, and what you found.
Quick checklist
- [ ] Fixed builds (14.1-73.37 / 13.1-64.23 or FIPS/NDcPP builds) installed on all ADC/Gateway instances, including test and emergency systems
- [ ] All active sessions terminated after patching (best practice)
- [ ] Unsupported firmware branches replaced
- [ ] VPN directories (
/var/netscaler/gui/vpn/scripts/,/netscaler/ns_gui/vpn/media/,/var/vpn/theme/) checked against Mandiant IoCs - [ ]
/etc/httpd.conf, SUID bit on/bin/sh,/tmp/.uxd*files and Python processes checked - [ ] Logs reviewed back to early September (NSPPE crashes, httpaccess/httperror, 404 responses with a large body)
- [ ] Unexpected outbound connections into the internal network checked
- [ ] OT remote access separated from the corporate gateway (jump host, MFA, per-session approval)
- [ ] All checks documented for NIS2
Further resources
- Live incident tracker (German): Vorfall-Lagebild
- Securing remote maintenance for the long term: OT security consulting
Original (German): https://ot-cyber.de/blog/netscaler-absichern-checkliste-fuer-betreiber-in-dach.html
Max Gilg is an OT cybersecurity consultant based in Rosenheim, Germany (OT-Cyber.de).


Top comments (0)