← Back to Feed CACHED · 2026-05-17 09:42:19 · cache_key CVE-2025-29912
CVE-2026-8992 · CWE-295 · Disclosed 2026-05-22

An improper certificate validation vulnerability in Ivanti Secure Access Client before 22

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
01 · The Real Story

This is less a front-door break-in than a fake locksmith waiting beside the road your laptop already drives

CVE-2026-8992 is an improper certificate validation flaw in Ivanti Secure Access Client fixed in 22.8R6. The public CVE record currently identifies the affected platform as Windows, and the practical issue is classic: if the client accepts a bad or attacker-controlled certificate during a connection flow, an attacker can impersonate the trusted server path and feed the client malicious content, with the vendor saying that can end in arbitrary code execution.

The vendor's HIGH 8.8 score overstates real-world urgency for most enterprises. Yes, the technical impact is ugly *if the chain lands*, but this is still a client-side, user-interaction, trust-bypass problem that usually needs an on-path attacker, rogue infrastructure, DNS/proxy control, or a compromised delivery point. That is materially different from an unauthenticated internet-edge Ivanti appliance bug, and it sharply narrows both exposure population and automation potential.

"High on paper, medium in practice: this needs a MITM-style position and user-driven client traffic."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Get into the traffic path with bettercap, mitmproxy, or a rogue AP

The attacker first needs a position where they can influence or observe the victim's Ivanti client connection. In practice that means hostile Wi-Fi, ARP spoofing on the same segment, DNS/proxy manipulation, or compromise of infrastructure the client already trusts. This is the decisive friction point: the bug is not normally reachable from the open internet against a dormant endpoint.
Conditions required:
  • Target endpoint runs vulnerable Ivanti Secure Access Client on Windows before 22.8R6
  • Attacker can become on-path or control name resolution/proxying for the target's Ivanti connection
  • Victim initiates Ivanti client traffic
Where this breaks in practice:
  • Requires network position, not just internet reachability
  • Modern enterprise Wi-Fi, NAC, and switch protections reduce casual LAN MITM
  • Always-on VPN designs can reduce user-triggered connection opportunities
Detection/coverage: Traditional external scanners will miss this. Detection lives in network telemetry: rogue DHCP/ARP, suspicious DNS changes, transparent proxying, and wireless intrusion monitoring.
STEP 02

Exploit the trust failure during TLS setup

Using a malicious certificate and an interception point, the attacker abuses the certificate-validation flaw so the client treats an untrusted endpoint as legitimate. The public data maps this to CWE-295, so the core failure is not a memory corruption entry point by itself but a trust decision failure that enables the next stage.
Conditions required:
  • The vulnerable client reaches attacker-controlled or attacker-intercepted service endpoints
  • The certificate validation bug applies to that specific connection flow
Where this breaks in practice:
  • The exact exploitable workflow is not publicly documented in detail
  • Certificate pinning, strict proxying, or segmented access may break the chain in some environments
Detection/coverage: Hard to signature directly. Look for client connections accepting unusual certificates, sudden CA-store changes, or outbound TLS sessions inconsistent with known Ivanti gateways.
STEP 03

Deliver attacker-controlled Ivanti content or workflow response

Once trust is bypassed, the attacker can impersonate the legitimate server side of the Ivanti workflow and return malicious responses, configuration, or update-like content. The CVE record tags CAPEC-186 Malicious Software Update, which fits a server-impersonation delivery model more than a direct single-packet RCE.
Conditions required:
  • Victim uses a workflow where the client consumes code, components, or privileged responses from the server path
  • The malicious server response reaches the client without secondary validation
Where this breaks in practice:
  • Not every deployment uses the same feature set or delivery components
  • Some enterprises disable browser-driven or dynamic component flows
Detection/coverage: Proxy logs, web gateway telemetry, and EDR can sometimes catch unexpected downloads or process launches spawned from Ivanti client components.
STEP 04

Execute code on the endpoint and try to persist

If the full chain succeeds, the vendor states the attacker can reach arbitrary code execution on the endpoint. Public records do not clearly document the resulting privilege level, so defenders should assume at least user-context code execution and watch for follow-on privilege escalation attempts by commodity tooling or hands-on-keyboard operators.
Conditions required:
  • Payload execution path exists in the abused client workflow
  • Endpoint controls do not block the spawned payload
Where this breaks in practice:
  • EDR, application control, SmartScreen, WDAC, or child-process controls may stop payload execution
  • Lack of public exploit detail suggests weaponization is not turnkey today
Detection/coverage: EDR should be the main stop here: alert on child processes, DLL loads, script interpreters, or unusual network beacons launched by Ivanti client binaries or services.
03 · Intelligence Metadata

The supporting signals.

In-the-wild statusNo public active exploitation evidence found. The CVE enrichment exposed via CIRCL shows CISA ADP Exploitation: none and Automatable: no.
KEV statusNot listed in the CISA KEV catalog during this assessment.
EPSS0.00127 with percentile 0.31693 from CIRCL/FIRST-linked enrichment — very low short-term exploitation probability.
Proof-of-concept availabilityNo credible public PoC located in primary search results, GitHub search results, or mainstream vuln trackers reviewed here.
CVSS vector reality checkAV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H looks scary, but the killer qualifier is UI:R paired with a certificate-validation/MITM bug. In practice that usually implies attacker network position or trusted-path compromise, which CVSS does a poor job of expressing.
Affected versionsPublic CVE metadata currently names Ivanti Secure Access Client on Windows before 22.8R6. Belgium CCB also phrases the exposure as Windows 22.8R5 and prior.
Fixed version22.8R6 is the first known fixed release. Tenable plugin 314681 checks for Ivanti Secure Access Client 22.x < 22.8R6 on Windows.
Exposure and scanning realityThis is endpoint client software, not an externally exposed service. Internet census tools like Shodan/Censys are low-value here; practical coverage is from local/agent-based detection, which matches Tenable publishing this as a local Windows plugin.
Disclosure timelineThere is a date split worth noting: the vendor bulletin referenced by CERT-FR is dated 2026-05-12, while the CVE/NVD publication date is 2026-05-22.
Reporter / discovererUnknown publicly. The CVE record lists source discovery as UNKNOWN; no researcher credit is exposed in the records reviewed.
04 · The Call

noisgate verdict.

Final Verdict
DOWNGRADED to MEDIUM (5.5/10)

The decisive downgrade driver is the attacker-position requirement: this is not a broadly reachable server bug, it is a client-side trust failure that typically needs MITM access, trusted-path control, or a compromised delivery point. That sharply cuts the exposed population and makes exploitation less automatable, despite the vendor's RCE impact statement.

HIGH Downgrade rationale driven by on-path/client-side exploitation friction
MEDIUM Affected Windows version boundary and fixed release at 22.8R6
LOW Exact payload mechanism and resulting privilege context, because public technical details are sparse

Why this verdict

  • Primary friction: requires attacker position, not just internet reachability. CVSS says AV:N, but for a certificate-validation flaw that still usually means the attacker must control network path, DNS, proxying, Wi-Fi, or another trusted channel. That is a major real-world downgrade from appliance-style pre-auth RCE.
  • User-driven and workflow-dependent. The vector includes UI:R, and the client has to actually initiate a susceptible connection or delivery workflow. On 10,000 endpoints, not every installed client is equally reachable at all times.
  • Low threat intelligence heat. EPSS is 0.00127, KEV is absent, no public exploitation was found, and CISA ADP enrichment says Exploitation: none and Automatable: no. That is not the profile of a drop-everything patch event.

Why not higher?

Because the chain is narrower than the vendor score suggests. A remote attacker on the general internet does not get reliable, direct reach into every Ivanti client; they need traffic influence plus a live client workflow, and modern EDR/application control can still break the final stage. Sparse public exploit detail also argues against assuming near-term mass weaponization.

Why not lower?

Because once an attacker *does* have the right position, the blast radius is a managed endpoint and the vendor is claiming arbitrary code execution, not a harmless warning bypass. In environments with large remote-user populations, hostile networks, or weak TLS interception hygiene, this is still a meaningful post-initial-access or rogue-network risk.

05 · Compensating Control

What to do — in priority order.

  1. Force trusted egress paths — Pin Ivanti client traffic to known corporate DNS, proxy, and network paths where possible, and block split-tunnel exceptions that let clients resolve or reach gateways through untrusted local infrastructure. For a MEDIUM verdict there is no mitigation SLA; use this as risk reduction while you work the 365-day remediation window.
  2. Harden hostile-network protections — Enable rogue-AP detection, DHCP snooping, Dynamic ARP Inspection, and wireless protections on enterprise-controlled networks, and enforce secure remote-user guidance for unmanaged Wi-Fi. This directly attacks the MITM prerequisite; again, no mitigation SLA applies here, so treat it as a control improvement rather than an emergency workaround.
  3. Constrain endpoint execution — Use EDR prevention, WDAC/AppLocker, SmartScreen, and child-process controls to stop Ivanti client components from launching unapproved payloads. This is your best brake on the final execution stage if trust-bypass succeeds; keep it in place continuously and remediate the actual vulnerable version within 365 days.
  4. Audit dynamic client delivery features — Review whether browser-driven installs, dynamic component downloads, or optional client-side modules are enabled and needed. Reducing those features trims the number of exploitable workflows without waiting for a crisis-level maintenance window; for MEDIUM, there is no mitigation SLA — go straight to the 365-day remediation window.
What doesn't work
  • A perimeter WAF does not meaningfully solve this; the vulnerable component is the endpoint client trust decision, not a typical inbound web-app request path.
  • Relying on CVSS alone does not prioritize this correctly; it hides the practical requirement for on-path influence and overweights the theoretical impact.
  • Internet exposure scans do not tell you much here; this is not an edge appliance service, so census tools will miss the real asset population.
06 · Verification

Crowdsourced verification payload.

Run this on the target Windows endpoint or through your EDR/RMM as a local script. Invoke it with powershell.exe -ExecutionPolicy Bypass -File .\check-isac-cve-2026-8992.ps1; standard user rights are usually enough to read uninstall data, but local admin gives the most reliable view across all registry hives.

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
# check-isac-cve-2026-8992.ps1

# Detects likely vulnerable Ivanti Secure Access Client installs for CVE-2026-8992.

# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN


$ErrorActionPreference = 'SilentlyContinue'

function Get-InstalledEntries {
    $paths = @(
        'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*',
        'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*',
        'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*'
    )

    foreach ($p in $paths) {
        Get-ItemProperty $p | Where-Object {
            $_.DisplayName -match 'Ivanti Secure Access Client|Pulse Secure'
        } | Select-Object DisplayName, DisplayVersion, Publisher, InstallLocation
    }
}

function Test-IsPatchedString {
    param([string]$Version)
    if (-not $Version) { return $false }
    $v = $Version.Trim()
    if ($v -match '22\.8\s*R?6(\b|\.)') { return $true }
    if ($v -match '22\.8\.6(\b|\.)') { return $true }
    return $false
}

function Test-IsVulnerableString {
    param([string]$Version)
    if (-not $Version) { return $false }
    $v = $Version.Trim()

    # Explicitly vulnerable 22.8R1-R5 / 22.8.1-22.8.5 forms

    if ($v -match '22\.8\s*R?[1-5](\b|\.)') { return $true }
    if ($v -match '22\.8\.[1-5](\b|\.)') { return $true }

    # Earlier major/minor branches commonly seen in this product line

    if ($v -match '^(9\.|22\.[0-7](\.|\b)|22\.2\b|22\.3\b|22\.4\b|22\.5\b|22\.6\b|22\.7\b)') { return $true }

    return $false
}

$entries = @(Get-InstalledEntries)

if (-not $entries -or $entries.Count -eq 0) {
    Write-Output 'UNKNOWN - Ivanti Secure Access Client not found in standard uninstall locations.'
    exit 2
}

$patched = $false
$vulnerable = $false
$unknownSeen = $false

foreach ($e in $entries) {
    $name = $e.DisplayName
    $ver  = $e.DisplayVersion

    if (Test-IsPatchedString -Version $ver) {
        Write-Output ("PATCHED - {0} version {1}" -f $name, $ver)
        $patched = $true
        continue
    }

    if (Test-IsVulnerableString -Version $ver) {
        Write-Output ("VULNERABLE - {0} version {1}" -f $name, $ver)
        $vulnerable = $true
        continue
    }

    Write-Output ("UNKNOWN - {0} version {1}" -f $name, $(if ($ver) { $ver } else { '<blank>' }))
    $unknownSeen = $true
}

if ($vulnerable) { exit 1 }
if ($patched -and -not $unknownSeen) { exit 0 }
exit 2
07 · Bottom Line

If you remember one thing.

TL;DR
Monday morning: treat this as targeted client-side risk, not a fleet-wide fire drill. First, identify every Windows endpoint still on Ivanti Secure Access Client 22.8R5 or earlier, then validate whether those users routinely connect over untrusted networks or use dynamic/browser-driven Ivanti workflows. For a MEDIUM verdict there is no noisgate mitigation SLA — go straight to the 365-day remediation window unless your environment has unusual hostile-network exposure. Put any sensible trust-path hardening and execution controls in place as operational improvements, and complete the actual upgrade to 22.8R6 or later within the noisgate remediation SLA of 365 days.

Sources

  1. NVD CVE-2026-8992
  2. CIRCL Vulnerability Lookup for CVE-2026-8992
  3. Ivanti advisory URL referenced by NVD/CVE
  4. Ivanti Secure Access Client Supported Platforms Guide 22.8R6
  5. Ivanti Secure Access Client 22.X Release Notes Overview
  6. Tenable Plugin 314681 - Ivanti Secure Access Client 22.x < 22.8R6 Multiple Vulnerabilities
  7. CERT-FR advisory referencing Ivanti May 2026 bulletin
  8. CISA Known Exploited Vulnerabilities Catalog
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.