Back to blog
CitrixNetScalerRCEzero-dayKEV

Citrix NetScaler: CVE-2026-88779, a third pre-auth RCE that also hits the 88771/88772-patched builds — CISA KEV

Published on 2026-10-016 min readCleanIssue

> TL;DR: CISA added a third Citrix NetScaler flaw to the Known Exploited Vulnerabilities. CVE-2026-88779: pre-authentication arbitrary code execution via a race condition in the Web Interface session manager, CVSS 9.1 — and it also affects the builds already fixed for 88771/88772 (14.1-73.37, 13.1-64.23). watchTowr has a PoC, GreyNoise observed the first exploitations on October 1, and 43,812 instances remain exposed. CISA deadline: October 30, 2026.

A flaw that hits the versions that were fixed

  • CVE-2026-88779 — use-after-free via a race condition in the Web Interface session manager. Pre-authentication code execution, as root. CVSS 9.1.
  • Affected versions: 14.1 up to 14.1-73.43 and 13.1 up to 13.1-64.30 — including the versions you deployed after the 88771/88772 KEV.
  • Fixed in: 14.1-73.44 and 13.1-64.31 (14.1-FIPS 14.1-73.44+, 13.1-FIPS/13.1-NDcPP 13.1-64.31+).
  • Three flaws, three CVSS 9.x, the same gateway, the same pre-auth entry. If you patched 88771/88772 on September 30 and have done nothing since: you are still vulnerable.

    The mechanism: two requests, one dead object

    The race condition concerns Web Interface session objects. A session is created by an authentication request; a second request — concurrent, on another thread — manipulates the object after it has been freed. Result: write to freed memory, control of execution, code as root.

    watchTowr's PoC sends two concurrent POSTs to \/nf/auth/doAuthentication.do\\ with an \X-Nitro-Session-Purge\\ header on the second one. No session, no cookie, no token — the same pre-auth entry as 88771.

    The lesson is structural: this time it is not an input that becomes a shell command, it is a concurrency defect. Scanners that test inputs do not find it. You need the patch, and the verification.

    Exploitations are already observed

  • GreyNoise: first confirmed attempt on October 1, 2026, from \185.220.101.74\\. Observed behavior: creation of \/var/tmp/ns_sess\\ then execution as root, POSTs to \/nf/auth/doAuthentication.do\\ at a 3 ms interval — the signature of a race condition.
  • Palo Alto Networks Unit 42: 43,812 NetScaler instances publicly exposed and potentially vulnerable as of October 1, 2026.
  • What to check now

  • Apply 14.1-73.44 / 13.1-64.31 (or the FIPS equivalents), even if you patched 88771/88772 last week.
  • If you cannot patch: restrict access to the Web Interface (source IPs, VPN) — a temporary bypass is better than permanent exposure.
  • Hunt for artifacts: concurrent POSTs to \/nf/auth/doAuthentication.do\\ at intervals under 10 ms, \/var/tmp/ns_sess*\\ files, unexpected local accounts.
  • After an incident: revoke local credentials and the KEK, rebuild the appliance, replace restored SSL certificates — the same procedure as for 88771/88772.
  • The lesson

    A single CVE is a snapshot of the gateway's state, not of its code. 88771, 88772, 88779: same entry point, three mechanisms, three patches. When a vendor ships three pre-auth RCEs on the same module in ten days, the question is no longer "which version am I running?" — it is "who is testing my gateway, and how often?"

    Building software? CleanIssue performs security audits for your product in real-world conditions, no source code access needed. For a first read of your exposure, start with an external review of your application.

    Want to know what your AI agent can do?

    Tell us about your agent, its tools, and client context. We will come back with the right review scope.

    Discuss your audit