// threat brief

CVE-2026-104935Actively exploited

Ivanti Connect Secure authentication bypass: running commands on the VPN appliance without logging in

CVSS
8.6 HIGH
CISA KEV
2026-10-13
Weakness
CWE-290

PlainCVE Team · Published 2026-10-18 · AI-assisted · Press brief ↓

AI review 2026-10-18 (not human-reviewed)Command tests: none yetReproduced: not yetVerification record ↓

An authentication bypass in Ivanti Connect Secure VPN lets remote attackers run commands without logging in; exploited in the wild.

Who is affectedOrganizations running an affected version of Ivanti Connect Secure (ICS). NVD's version ranges are 22.8R2 through 22.8R2.4, 25.1.0.0 up to but not including 25.1.1.2, and 25.1.2.0 up to but not including 25.1.3.0; Rapid7, citing Ivanti's advisory, words it as 22.8R2.4 and earlier, 25.1.2.2 and earlier, and 25.1.1.1 and earlier; the CVE record's description says everything before 25.1.3.0 is affected, and sources disagree on 25.1.1.2. The CVE record says 22.7R2.14 and earlier are not affected; Rapid7, citing Ivanti's advisory, says 22.7.x and below are unaffected.
What happensAn attacker on the network, with no account and no user interaction, can run arbitrary commands on the appliance as the cgi-server user. In the observed attacks, the attacker then chained a separate, still-unpatched privilege escalation flaw to get root.
What to do nowUpgrade to a fixed version (22.8R2.5, 25.1.3.0, 25.1.3.1; sources disagree about 25.1.1.2). Ivanti's Integrity Checker Tool does not detect this attack chain, so a suspected compromise needs a forensic investigation.
Affected versionsThe CVE record (CNA: Ivanti) says before 25.1.3.0 is affected (22.7R2.14 and earlier are not); Rapid7, citing Ivanti's advisory, words it as 22.8R2.4 and earlier, 25.1.2.2 and earlier, and 25.1.1.1 and earlier (22.7.x and below unaffected); see the body for NVD's ranges. Sources disagree on 25.1.1.2.
Fixed versions22.8R2.5, 25.1.3.0, 25.1.3.1; sources disagree on whether 25.1.1.2 is fixed
CVSS vector
Show full vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L
Timeline
  • First public 2026-10-13
CISA KEVListed (2026-10-13): attacks have been seen in the wild

Blue team playbook

Check, fix / mitigate, respond, harden. Matching the affected versions does not mean you were compromised, and a check that finds nothing does not prove you are safe; each item says what it can and cannot show. Tagged steps point to where the attack flow below can be stopped.

DETECTCheckAm I affected? Any signs of compromise?
  1. 01Check whether your appliance version is in the affected range

    Rapid7, citing Ivanti's advisory, lists 22.8R2.4 and earlier, 25.1.2.2 and earlier, and 25.1.1.1 and earlier as affected; the CVE record (CNA: Ivanti) instead says everything before 25.1.3.0 is affected, listing only 25.1.3.0, 25.1.3.1, 22.8R2.5 and 22.7R2.14 and earlier as unaffected. PlainCVE suggests checking any version that either source lists as affected; if you run 25.1.1.2, note that sources disagree on whether it is fixed.

  2. 02A clean Integrity Checker Tool result does not mean you are safe

    Volexity says this chain patches code only in memory and restores the configuration data, so Ivanti's Integrity Checker Tool sees no changes. A forensic investigation is needed to find evidence of exploitation.

  3. 03Compare against the indicators Volexity published

    Rapid7, citing Ivanti, says Ivanti had no reliable indicators of compromise (IOCs) when it published the advisory; Volexity has published some (that page contains exploit code, so we do not link to it).

MITIGATEFix / mitigatePatch; block it if you cannot patch yet
  1. 01Upgrade to a fixed version

    Fixed versions are 22.8R2.5, 25.1.3.0 and 25.1.3.1; sources disagree about 25.1.1.2. Volexity says the patches came out on 2026-10-13. The sources describe no mitigation other than upgrading.

  2. 02Check which version your hardware can move to

    runZero says 25.1.3.0 needs the new ISA4500/6500/8500 hardware or virtual/cloud appliances built from the 25.1.3.0 template; on ISA6000/ISA8000, the 25.1 upgrade path is 25.1.1.2.

RESPONDRespondIf you find signs of compromise
  1. 01If compromise is suspected, investigate forensically and assume the attacker may have had root

    In the observed attacks, the attacker chained an unpatched privilege escalation flaw to get root and deleted evidence from debug and audit logs. Upgrading alone does not rule out a past compromise; treating it as a worst case is PlainCVE's suggestion, not Ivanti's guidance.

HARDENHardenPrevent the next one
  1. 01Watch for the privilege escalation fix

    Volexity says Ivanti will fix the chain's privilege escalation flaw in a release in the coming weeks; apply it once it is out.

  2. 02Plan to migrate before 22.7/22.8 reach end of life

    runZero says ICS 22.7 and 22.8 reach end of life on 2027-01-31.

Full remediation steps and notes

Fixed versions: 22.8R2.5, 25.1.3.0, 25.1.3.1; 25.1.1.2 is disputed (see above).

Hardware limits (per runZero):

Your platformCan move to
New ISA4500 / ISA6500 / ISA8500, or virtual/cloud appliances built from the 25.1.3.0 template25.1.3.0
25.1 on ISA6000 / ISA800025.1.1.2

If 25.1.1.2 is the only version you can reach, keep the source disagreement above in mind and confirm with Ivanti that your version is actually fixed.

Ordering caveat (PlainCVE’s suggestion, not guidance from the sources or Ivanti): If you suspect the appliance was compromised, collect forensic data before upgrading or rebooting. Per Volexity, the chain’s changes live only in memory and evidence was deleted from the logs. Upgrade once that data is preserved. Upgrading only stops future attacks; it does not undo a compromise that already happened. The privilege escalation flaw from the same chain is still unpatched (Volexity says Ivanti plans to fix it in a release in the coming weeks). The sources describe no workaround other than upgrading. CISA requires federal agencies to apply mitigations per vendor instructions, or stop using the product if none are available, by 2026-10-16.

Attack flow

Read left to right: this is the order the attack happens in. A blue shield means the step can be stopped; the earlier, the better. Click an icon for details.

Read top to bottom: this is the order the attack happens in. A blue shield means the step can be stopped; the earlier, the better. Tap an icon for details.

Ivanti Connect Secure authentication bypass: running commands on the VPN appliance without logging in: 1. Reaches the ICS appliance over the network, without logging in → 2. The appliance is fooled by a spoofed identity and authentication is bypassed → 3. Arbitrary commands run as the cgi-server user → 4. Chains a separate privilege escalation flaw to get root → 5. Covers tracks so integrity checks see nothingCVE-2026-104935 · Ivanti Connect Secure authentication bypass: running commands on the VPN appliance withoutlogging inAttackerYour systemReaches the ICS appliance over the network, without logging in — According to the CVSS score, the attacker needs only network access: no account, no privileges and no user action. 1Reaches the ICSappliance over thenetwork, withoutlogging inThe appliance is fooled by a spoofed identity and authentication is bypassed — This is a CWE-290 type flaw. Per Volexity's high-level description, the appliance decides whether to let a request through based on its URL (a public page that needs no login), but decides which internal program actually handles it based on a header the request supplies itself; because the two don't match, the request can reach programs that should require a login. 2The appliance isfooled by aspoofed identityand authenticatio…Arbitrary commands run as the cgi-server user — Volexity says this one CVE covers both the authentication bypass and a remote code execution bug. On their own, those two flaws give the attacker the cgi-server user's privileges, not root. 3Arbitrary commandsrun as thecgi-server userChains a separate privilege escalation flaw to get root — That privilege escalation flaw is not part of this CVE and is not fixed yet. Volexity says Ivanti plans to fix it in a release in the coming weeks. 4Chains a separateprivilegeescalation flaw toget rootCovers tracks so integrity checks see nothing — Volexity observed that the chain modifies library code only in memory and restores the configuration data; the attacker also deleted evidence from Ivanti debug logs and Linux audit logs. 5Covers tracks sointegrity checkssee nothingAttack pathCan be stopped herePlainCVE · plaincve.date/en/vulns/cve-2026-104935-ivanti-connect-secure-auth-bypass · CC BY 4.0
Ivanti Connect Secure authentication bypass: running commands on the VPN appliance without logging in: 1. Reaches the ICS appliance over the network, without logging in → 2. The appliance is fooled by a spoofed identity and authentication is bypassed → 3. Arbitrary commands run as the cgi-server user → 4. Chains a separate privilege escalation flaw to get root → 5. Covers tracks so integrity checks see nothingCVE-2026-104935 · Ivanti Connect Secureauthentication bypass: running commandson the VPN appliance without logging inReaches the ICS appliance over the network, without logging in — According to the CVSS score, the attacker needs only network access: no account, no privileges and no user action. 1AttackerReaches the ICS appliance overthe network, without logging inThe appliance is fooled by a spoofed identity and authentication is bypassed — This is a CWE-290 type flaw. Per Volexity's high-level description, the appliance decides whether to let a request through based on its URL (a public page that needs no login), but decides which internal program actually handles it based on a header the request supplies itself; because the two don't match, the request can reach programs that should require a login. 2Your systemThe appliance is fooled by aspoofed identity andauthentication is bypassedArbitrary commands run as the cgi-server user — Volexity says this one CVE covers both the authentication bypass and a remote code execution bug. On their own, those two flaws give the attacker the cgi-server user's privileges, not root. 3Your systemArbitrary commands run as thecgi-server userChains a separate privilege escalation flaw to get root — That privilege escalation flaw is not part of this CVE and is not fixed yet. Volexity says Ivanti plans to fix it in a release in the coming weeks. 4AttackerChains a separate privilegeescalation flaw to get rootCovers tracks so integrity checks see nothing — Volexity observed that the chain modifies library code only in memory and restores the configuration data; the attacker also deleted evidence from Ivanti debug logs and Linux audit logs. 5AttackerCovers tracks so integritychecks see nothingAttack pathCan be stopped herePlainCVE · CC BY 4.0plaincve.date/en/vulns/cve-2026-104935-ivanti-connect-secure-auth-bypass
Free to use in reporting and teaching under CC BY 4.0. Attribution is already on the image.
  1. Attacker

    Reaches the ICS appliance over the network, without logging in

    According to the CVSS score, the attacker needs only network access: no account, no privileges and no user action.

    Defense: Upgrade to a fixed version. The sources describe no workaround other than upgrading.

  2. Your system

    The appliance is fooled by a spoofed identity and authentication is bypassed

    This is a CWE-290 type flaw. Per Volexity's high-level description, the appliance decides whether to let a request through based on its URL (a public page that needs no login), but decides which internal program actually handles it based on a header the request supplies itself; because the two don't match, the request can reach programs that should require a login.

    Defense: Fixed in 22.8R2.5, 25.1.3.0 and 25.1.3.1.

  3. Your system

    Arbitrary commands run as the cgi-server user

    Volexity says this one CVE covers both the authentication bypass and a remote code execution bug. On their own, those two flaws give the attacker the cgi-server user's privileges, not root.

    Defense: Upgrade to a fixed version.

  4. Attacker

    Chains a separate privilege escalation flaw to get root

    That privilege escalation flaw is not part of this CVE and is not fixed yet. Volexity says Ivanti plans to fix it in a release in the coming weeks.

    Defense: No fix yet; watch for Ivanti's upcoming release.

  5. Attacker

    Covers tracks so integrity checks see nothing

    Volexity observed that the chain modifies library code only in memory and restores the configuration data; the attacker also deleted evidence from Ivanti debug logs and Linux audit logs.

    Defense: Don't rely on the Integrity Checker Tool alone; a forensic investigation is needed, using the indicators Volexity published.

Who is affected

VersionAffected?
22.7R2.14 and earlierNot affected (CVE record); Rapid7, citing Ivanti’s advisory, words it more broadly: 22.7.x and below are unaffected
22.8R2.4 and earlierAffected (NVD lists 22.8R2 through R2.4)
22.8R2.5Fixed
25.1.1.1 and earlierAffected
25.1.1.2Sources disagree, see below
25.1.2.2 and earlierAffected
25.1.3.0, 25.1.3.1Fixed

The version numbers in the table (22.8R2.4, 25.1.1.1, 25.1.2.2 and so on) come from Ivanti’s advisory as cited by Rapid7. NVD’s version ranges are 22.8R2 through 22.8R2.4, 25.1.0.0 up to but not including 25.1.1.2, and 25.1.2.0 up to but not including 25.1.3.0; NVD does not list “25.1.2.2” as a version number. The CVE record (CNA: Ivanti) instead describes everything “before 25.1.3.0” as affected, with a default status of affected; its unaffected list contains only 25.1.3.0, 25.1.3.1, 22.8R2.5 and 22.7R2.14.

The 25.1.1.2 disagreement: Rapid7 (citing Ivanti) and NVD’s version ranges treat 25.1.1.2 as fixed. But the CNA description in the CVE record says everything “before 25.1.3.0” is affected, and its list of unaffected versions does not include 25.1.1.2. This matters because runZero says 25.1.1.2 is exactly the 25.1 upgrade path on ISA6000/ISA8000 hardware. Ivanti’s advisory page did not render when we tried to read it, so we could not confirm this directly.

How it works

Ivanti Connect Secure (ICS) is a VPN appliance that companies use to let employees connect to the office network from outside. This flaw is CWE-290, “authentication bypass by spoofing”: the appliance treats some signal an attacker can fake as proof of being logged in, and skips the login check. In broad terms, per Volexity’s write-up (that page contains exploit code, so we do not link to it): the appliance decides whether to let a request through based on its URL (a public page that needs no login), but decides which internal program actually handles it based on a header the request supplies itself. Because the access decision and the real destination don’t match, the request can reach programs that should require a login. For the remote code execution part, Volexity says an upload handler writes a file to disk first and checks it afterwards, and the gap between the two creates a race condition. This is closed-source appliance software, and no fix code is available to examine.

According to Volexity, this one CVE actually covers two flaws: the authentication bypass plus a remote code execution (RCE, meaning the attacker can run their own commands remotely) bug. Chained together, they let the attacker run commands as the cgi-server system user, which is not the all-powerful root account. In the real attacks, the attacker then chained a third flaw, not part of this CVE and not yet patched, to escalate to root.

The general CWE-290 mistake (conceptual illustration, not Ivanti’s code):

Show code example(python)
# Flawed approach: trust the identity the request claims for itself
if request.claims_to_be_trusted():
    skip_login()
Show code example(python)
# Fixed approach: identity comes only from credentials verified on the server
session = verify_credentials_server_side(request)
if not session:
    reject()

Because the chain patches library code only in memory and restores the configuration data, Ivanti’s Integrity Checker Tool sees no changes (Volexity). Separately, the attacker deleted evidence from Ivanti debug logs and Linux audit logs.

Scoring: The CNA’s CVSS 3.1 score is 8.6 (High). Rapid7 calls it a “CVSSv3.0” score and runZero’s headline calls it “Critical”; both are minor inconsistencies with the CVE record. CISA’s SSVC assessment rates exploitation as active, the flaw as automatable, and the technical impact as total.

Timeline

DateEvent
2026-0725.1.3.0 released; per Rapid7 it already fixed part of the issue, found internally by Ivanti
2026-10-01Defused sees the first signs of exploitation (reported by BleepingComputer)
2026-10-02CVE ID reserved
2026-10-03Volexity sees UTA0576 begin repeated exploitation
2026-10-13Ivanti publishes its advisory (per Rapid7), patches released (per Volexity), CVE published, added to CISA KEV
2026-10-16CISA’s remediation deadline for federal agencies
2027-01-31ICS 22.7 and 22.8 reach end of life (per runZero)

Further reading

  • How “zero-day” applies: Rapid7 says exploitation happened before disclosure, making it a zero-day, and the victim Volexity confirmed ran 22.8R2.4, which was fully patched at the time (per Volexity). But Rapid7 also says part of the issue was already fixed in 25.1.3.0 in July. Our analysis: “zero-day” applies to branches that had not yet received the backported fix (such as 22.8), not to 25.1.3.0.
  • Scale and attacker: Volexity has confirmed one victim; BleepingComputer quotes Ivanti as calling the exploitation “limited”. Volexity tracks the attacker as UTA0576 and assesses with low confidence that the motive is criminal rather than espionage. CISA lists ransomware use as Unknown.
  • Start date differs: Volexity says October 3, Defused says October 1; the two firms may simply have seen different activity.
  • Discovery credit differs: BleepingComputer says Volexity found and reported the flaw; Rapid7 says Ivanti found part of it internally; the discovery field in the CVE record (CNA: Ivanti) says UNKNOWN, while Volexity itself says it reported the flaw to Ivanti.
  • Indicators of compromise: Rapid7, citing Ivanti, says no reliable indicators were available at advisory time; Volexity has published some (that page contains exploit code, so we do not link to it).
  • Data quality: The advisory URL in CISA’s KEV notes is malformed (https:/forums.ivanti.com) and differs from the hub.ivanti.com URL in the CVE and NVD records. No source says when the vulnerable code was introduced.
  • Related weakness type: CWE-290.

Verification Checked item by item against sources by AI under our review rules, all passed; not human-reviewed and not yet reproduced in our lab

AI review2026-10-18 · review rules

Verification records describe the environment and the result only, never reproduction steps or code that could attack other people’s systems. See our policy.

Sources

  1. CVE / NVD / OSVCVE-2026-104935 record (CVE Services API) · CVE Program, 2026-10-13 · accessed 2026-10-14
  2. CVE / NVD / OSVCVE-2026-104935 (NVD API) · NIST NVD · accessed 2026-10-14
  3. ResearchIvanti Connect Secure zero-day exploited in the wild (CVE-2026-104935) · Rapid7 · accessed 2026-10-14
  4. ResearchIvanti Connect Secure · runZero · accessed 2026-10-14
  5. NewsIvanti warns of Connect Secure zero-day exploited in attacks · BleepingComputer · accessed 2026-10-14
  6. NewsIvanti zero-day chain gave attackers root access to fully patched VPN · SecurityWeek · accessed 2026-10-14
  7. NewsAttackers chain three Ivanti VPN zero-days for root access · iTnews · accessed 2026-10-14

Press brief

In one sentence

Ivanti Connect Secure is a VPN appliance used by companies. It has an authentication bypass flaw (CVE-2026-104935) that lets attackers run commands on the device without logging in. Security firm Volexity observed it being exploited before patches were available, and the US agency CISA added it to its Known Exploited Vulnerabilities catalog on October 13, 2026. According to Volexity, patches came out the same day, but a separate flaw used in the same attack chain to get full control is not yet fixed.

Key facts

Severity
CVSS 3.1 8.6 (CNA) cveawg.mitre.org
CVE published
2026-10-13 cveawg.mitre.org
Ivanti advisory
2026-10-13 (per Rapid7; Rapid7 also says 25.1.3.0, released in July 2026, fixed part of the issue) rapid7.com
Affected versions
22.8R2 through 22.8R2.4, 25.1.0.0 up to but not including 25.1.1.2, 25.1.2.0 up to but not including 25.1.3.0 (per NVD; the CVE record's description says before 25.1.3.0, and sources disagree on 25.1.1.2) services.nvd.nist.gov
Threat actor
UTA0576 (Volexity's name) securityweek.com

Confirmed

  • A remote, unauthenticated attacker can run arbitrary commands on affected ICS appliances (CVE record).
  • It is in CISA's Known Exploited Vulnerabilities catalog, and Volexity observed real-world exploitation.
  • The victim appliance Volexity confirmed ran 22.8R2.4, which was fully patched at the time.
  • Ivanti's Integrity Checker Tool does not detect this attack chain (Volexity).

Unconfirmed / disputed

  • Whether 25.1.1.2 is fixed: Rapid7 and NVD's version ranges treat it as fixed, while the CVE record's description says everything before 25.1.3.0 is affected.
  • When exploitation started: Volexity says October 3; Defused (via BleepingComputer) says October 1.
  • Who found the flaw: BleepingComputer credits Volexity, while Rapid7 says Ivanti found part of it internally.
  • Ransomware links: CISA lists this as Unknown; Volexity assesses with low confidence that the actor's motive is criminal rather than espionage.

Quotable line

The hardest part is not that the door was opened, but that the intruder left almost no trace: the changes live only in memory, so even the appliance's own checking tool sees nothing.

Images

Download the share image (PNG) · Attack flow diagram (downloadable)

Please credit "PlainCVE" and link to this page. Full citation format is under "How to cite" below. Found a factual error? Report it.

How to cite this page

This article is CC BY 4.0. Please keep the attribution and link when republishing.

PlainCVE Team (2026). "Ivanti Connect Secure authentication bypass: running commands on the VPN appliance without logging in". PlainCVE. https://plaincve.date/en/vulns/cve-2026-104935-ivanti-connect-secure-auth-bypass (accessed YYYY-MM-DD)
BibTeX
@misc{cve2026104935ivanticonnectsecureauthbypass2026,
  title  = {Ivanti Connect Secure authentication bypass: running commands on the VPN appliance without logging in},
  author = {PlainCVE Team},
  year   = {2026},
  howpublished = {PlainCVE},
  url    = {https://plaincve.date/en/vulns/cve-2026-104935-ivanti-connect-secure-auth-bypass},
  note   = {Updated 2026-10-18}
}