Someone left the master key mold in an unlocked drawer, but only tenants who use that brand of lock are at risk
CVE-2026-28323 is a SAML authentication bypass in SolarWinds Web Help Desk (WHD) affecting all versions prior to 2026.2.1. The flaw lies in how WHD validates SAML 2.0 authentication responses — an attacker who can reach the WHD login endpoint can forge a SAML assertion and impersonate any user, including administrators, without valid credentials. The bug is unauthenticated and network-reachable, earning its CVSS:3.1 9.8 score. Researcher Dhabaleshwar Das responsibly disclosed it, and SolarWinds shipped version 2026.2.1 on July 30, 2026 — just two days ago.
The vendor's CRITICAL/9.8 rating is *technically correct for the configured-SAML case* but overstates the population-level risk. The vulnerability only fires when SAML 2.0 SSO is enabled — WHD deployments using local authentication, LDAP, or Active Directory native auth are unaffected. That said, SolarWinds WHD has a grim recent history: CVE-2025-40551 hit CISA's KEV catalog in February 2026, and Microsoft documented multi-stage intrusions where WHD was the beachhead for full Active Directory compromise via DCSync. Attackers already have WHD in their target lists. A SAML bypass PoC for this class of bug is typically straightforward to develop, so the window before weaponization is short. We downgrade to HIGH 8.5 — the SAML prerequisite meaningfully narrows the blast radius, but the proven attacker interest and unauthenticated-remote attack surface keep this well above MEDIUM.
5 steps from start to impact.
Identify internet-facing WHD instance
http.title:"Web Help Desk" or known URL paths like /helpdesk/WebObjects/Helpdesk.woa). WHD is commonly exposed for employee self-service ticketing. Earlier 2026 campaigns confirmed attackers actively enumerate these.- WHD instance is network-reachable (internet-facing or internal)
- Organizations that restrict WHD to VPN-only or internal networks reduce this to post-initial-access
Confirm SAML SSO is enabled
- SAML 2.0 SSO must be configured on the target WHD instance
- Many WHD deployments (especially SMB) use local auth or LDAP — SAML adoption is concentrated in mid-to-large enterprises
- Deployments using only local/LDAP auth are completely unaffected
Forge SAML assertion
- Knowledge of a valid admin username or email (often guessable from ticketing context)
- Ability to send crafted HTTP POST to the WHD SAML ACS endpoint
- No public PoC exists yet (disclosed 2 days ago), but SAML bypass exploitation is a well-understood class with extensive prior art (e.g., CVE-2024-45409 ruby-saml, CVE-2025-25291/25292 GitHub SAML)
Gain authenticated admin access to WHD
- Successful SAML assertion forgery from step 3
- Session monitoring or anomalous login alerts may catch the authentication from an unexpected IP/location
Pivot to internal network and AD
- WHD service account has network access to internal resources
- Attacker achieves code execution on the WHD host (may require chaining with another vuln, or leveraging WHD admin features like custom scripts/integrations)
- Network segmentation isolating WHD from AD/internal resources
- EDR on the WHD host detecting post-exploitation activity
- This step may require chaining with a separate RCE vulnerability — the SAML bypass alone grants application-level access, not OS-level
The supporting signals.
| In-the-wild exploitation | Not yet observed for CVE-2026-28323 (disclosed July 30, 2026). However, earlier WHD CVEs (CVE-2025-40551, CVE-2025-40553) were actively exploited in Dec 2025–Feb 2026 campaigns documented by Microsoft and Elastic. |
|---|---|
| Proof-of-concept | No public PoC as of August 1, 2026. Disclosed responsibly by Dhabaleshwar Das. SAML bypass PoCs for this vulnerability class typically emerge within 2-4 weeks of disclosure. |
| EPSS score | 0.00638 (~93rd–95th percentile). Moderate probability reflecting the product's niche install base but offset by the unauthenticated attack vector. |
| KEV status | Not listed on CISA KEV for CVE-2026-28323. Note: CVE-2025-40551 (WHD RCE) was added to KEV on Feb 6, 2026, demonstrating CISA's willingness to list WHD vulns. |
| CVSS vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H — Network-accessible, no privileges, no user interaction, full CIA impact. The vector does not account for the SAML-must-be-enabled precondition. |
| Affected versions | All SolarWinds Web Help Desk versions prior to 2026.2.1. This includes the 2026.1 release that fixed earlier RCE/auth-bypass CVEs. |
| Fixed version | WHD 2026.2.1 (released July 30, 2026). Also includes enforced HTTPS, stronger TLS, and Caddy-based reverse proxy. |
| Scanning/exposure data | SolarWinds WHD instances are discoverable via Shodan (http.title:"Web Help Desk") and Censys. Microsoft's Feb 2026 report confirmed attackers were targeting internet-exposed WHD servers. Estimated ~1,000–3,000 internet-facing instances based on earlier scanning reports. |
| Disclosure date | July 30, 2026 — vendor advisory and patch released simultaneously. |
| Researcher | Dhabaleshwar Das (responsible disclosure to SolarWinds). |
noisgate verdict.
The single most decisive factor for the downgrade from CRITICAL to HIGH is the SAML SSO prerequisite — this vulnerability is completely inert on WHD instances using local, LDAP, or AD-native authentication, which constitutes a significant fraction of the ~160K-contact installed base. The proven attacker interest in WHD (KEV-listed sibling CVEs, Microsoft-documented domain compromise chains originating from WHD) prevents any further downgrade below HIGH.
Why this verdict
- SAML prerequisite narrows population: The vulnerability only affects WHD instances with SAML 2.0 SSO configured. Deployments using local auth, LDAP bind, or AD-integrated auth are entirely unaffected. This is not captured in the CVSS vector and represents a meaningful reduction in the exposed population — estimated 30-50% of WHD deployments use SAML based on enterprise SSO adoption patterns for on-prem IT tools.
- No PoC yet, but short fuse: Disclosed 2 days ago with no public exploit code. However, SAML authentication bypass is a mature vulnerability class with extensive prior art (ruby-saml CVE-2024-45409, GitHub SAML CVE-2025-25291). Weaponization is likely within 2-4 weeks.
- Proven attacker playbook against WHD: Microsoft and Elastic documented active WHD exploitation campaigns in Feb 2026 where attackers went from WHD initial access to full AD compromise (DCSync, ntds.dit extraction). This establishes WHD as a known beachhead product. Attackers monitoring SolarWinds advisories will add this CVE to their toolkit.
- Role multiplier: WHD is a line-of-business help desk application, not a canonical high-value-role component (not an IdP, DC, hypervisor, or backup server). However, in documented real-world chains, compromised WHD servers served as the pivot point for domain-level compromise because: (a) WHD hosts sit on internal networks with AD connectivity, (b) WHD service accounts often have broad internal network access, (c) ticket data contains credentials and infrastructure intel. The blast radius when chained is domain-scale, but reaching that outcome requires either a second RCE vulnerability or abusing WHD admin features for code execution. The floor is HIGH given this proven chain.
- Unauthenticated remote attack vector: For SAML-enabled instances that are internet-facing, this is a zero-click, zero-auth bypass. No credential stuffing, no phishing — just a crafted HTTP POST. This keeps severity firmly in HIGH territory.
Why not higher?
CRITICAL would require the vulnerability to affect the full WHD installed base or for the affected component to canonically occupy a high-value role. WHD is a help desk tool, not an identity provider or domain controller. The SAML prerequisite materially narrows the vulnerable population — a non-trivial fraction of WHD instances simply cannot be exploited via this bug. Additionally, there is no public PoC and no confirmed in-the-wild exploitation of *this specific CVE* yet.
Why not lower?
MEDIUM would ignore the proven attacker interest in SolarWinds WHD (KEV-listed sibling CVEs, documented domain-compromise chains), the unauthenticated-remote attack surface, and the short expected timeline to weaponization. WHD has been a repeatedly targeted product in 2025-2026 campaigns. Any SAML-enabled, internet-facing WHD instance is one crafted POST away from full admin compromise, and the historical pattern shows attackers chain WHD access into AD takeover.
What to do — in priority order.
- Disable SAML SSO immediately on WHD if not operationally required — Switching to LDAP or local authentication completely eliminates this attack vector. If SAML is optional in your environment, disable it within the noisgate mitigation SLA of 30 days (HIGH verdict). This is the most effective compensating control available.
- Restrict WHD network exposure to VPN or internal-only — Remove WHD from public-facing network segments. Place it behind VPN, ZTNA, or IP-allowlisted reverse proxy. This eliminates the unauthenticated remote attack path for external adversaries. Deploy within 30 days per noisgate mitigation SLA.
- Deploy IdP-side anomaly detection for SAML assertion mismatches — Configure your IdP (Okta, Azure AD, ADFS) to log all SAML assertions issued. Set up SIEM alerts for any WHD admin session that lacks a corresponding IdP-side assertion — this is a high-fidelity indicator of forged SAML responses.
- Audit WHD service account privileges and network segmentation — Reduce the WHD service account's network access to only required endpoints (database, SMTP). Block WHD host from reaching domain controllers, ADCS, or other Tier 0 assets directly. This limits the blast radius if WHD is compromised.
- Monitor WHD host for post-exploitation TTPs — Deploy or verify EDR coverage on the WHD server. Alert on java.exe spawning cmd.exe, powershell.exe, or any child process. Watch for RMM tool installation, Defender disablement, and scheduled task creation — all TTPs observed in Feb 2026 WHD campaigns.
- WAF SAML signature validation — WAFs do not validate SAML assertion signatures on behalf of the application. The vulnerability is in WHD's own SAML handler, so a WAF in front of WHD will not catch a well-formed but forged assertion.
- MFA on the IdP — MFA protects the IdP authentication flow, but this bypass forges the SAML *response* directly to WHD, bypassing the IdP entirely. The IdP is never contacted, so MFA never fires.
- Rotating SAML signing certificates — While good hygiene, the vulnerability class (improper assertion validation) typically means WHD is not properly checking the signature at all, so a new certificate does not help.
Crowdsourced verification payload.
Run this script on the WHD server (Linux) or from any host with curl access to the WHD instance. Invoke as: bash check_cve_2026_28323.sh https://whd.example.com. Requires no special privileges — it only checks the installed version via the WHD login page.
#!/bin/bash
# check_cve_2026_28323.sh — Check SolarWinds WHD for CVE-2026-28323 exposure
# Usage: bash check_cve_2026_28323.sh <WHD_BASE_URL>
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN
set -euo pipefail
if [ $# -lt 1 ]; then
echo "Usage: $0 <WHD_BASE_URL>"
echo "Example: $0 https://whd.example.com"
exit 2
fi
WHD_URL="${1%/}"
FIXED_MAJOR=2026
FIXED_MINOR=2
FIXED_PATCH=1
echo "[*] Checking SolarWinds WHD at: $WHD_URL"
# Attempt to grab version from the login page or API
RESPONSE=$(curl -sk --max-time 10 "$WHD_URL/helpdesk/WebObjects/Helpdesk.woa" 2>/dev/null || true)
if [ -z "$RESPONSE" ]; then
echo "[!] Could not reach WHD instance at $WHD_URL"
echo "UNKNOWN"
exit 2
fi
# Try to extract version string from page content
VERSION=$(echo "$RESPONSE" | grep -oP 'Web Help Desk\s+v?\K[0-9]+\.[0-9]+\.[0-9]+' | head -1)
if [ -z "$VERSION" ]; then
# Try alternative version extraction from headers or other endpoints
VERSION=$(curl -sk --max-time 10 "$WHD_URL/helpdesk/WebObjects/Helpdesk.woa/wa/VersionAction" 2>/dev/null | grep -oP '[0-9]+\.[0-9]+\.[0-9]+' | head -1)
fi
if [ -z "$VERSION" ]; then
echo "[!] Could not determine WHD version. Check manually."
echo "[*] Checking if SAML SSO is configured..."
if echo "$RESPONSE" | grep -qi 'saml\|sso\|single.sign'; then
echo "[!] SAML/SSO references detected on login page — instance may be vulnerable if unpatched."
else
echo "[*] No SAML/SSO references detected on login page — instance may not be affected."
fi
echo "UNKNOWN"
exit 2
fi
echo "[*] Detected WHD version: $VERSION"
IFS='.' read -r MAJOR MINOR PATCH <<< "$VERSION"
# Compare versions
if [ "$MAJOR" -gt "$FIXED_MAJOR" ] 2>/dev/null; then
echo "PATCHED — version $VERSION >= $FIXED_MAJOR.$FIXED_MINOR.$FIXED_PATCH"
exit 0
elif [ "$MAJOR" -eq "$FIXED_MAJOR" ] 2>/dev/null; then
if [ "$MINOR" -gt "$FIXED_MINOR" ] 2>/dev/null; then
echo "PATCHED — version $VERSION >= $FIXED_MAJOR.$FIXED_MINOR.$FIXED_PATCH"
exit 0
elif [ "$MINOR" -eq "$FIXED_MINOR" ] 2>/dev/null; then
if [ "$PATCH" -ge "$FIXED_PATCH" ] 2>/dev/null; then
echo "PATCHED — version $VERSION >= $FIXED_MAJOR.$FIXED_MINOR.$FIXED_PATCH"
exit 0
fi
fi
fi
echo "VULNERABLE — version $VERSION is below fixed version $FIXED_MAJOR.$FIXED_MINOR.$FIXED_PATCH"
echo "[*] CVE-2026-28323: SAML authentication bypass. Upgrade to WHD 2026.2.1 or later."
exit 1If you remember one thing.
Sources
- GBHackers — Critical SolarWinds WHD SAML Bypass
- Arctic Wolf — Multiple Critical WHD Vulnerabilities
- Microsoft — Active Exploitation of SolarWinds WHD (Feb 2026)
- Elastic Security Labs — SolarWinds WHD Exploitation (Feb 2026)
- The Hacker News — CISA Adds WHD RCE to KEV
- Cryptika — SolarWinds SAML Login Bypass
- CyCognito — SolarWinds WHD Vulnerabilities Update
- Datanyze — SolarWinds WHD Market Share
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.