A bouncer who accepts any ID card as long as you can pronounce the name on it
CVE-2026-55040 is a JWT token validation bypass in SharePoint Server's authentication pipeline. A remote, unauthenticated attacker can forge a token that impersonates *any* SharePoint site user — including administrators — provided they know the target's Active Directory SID or User Principal Name (UPN). UPNs are usually just [email protected], which makes the 'prerequisite' about as restrictive as knowing someone's email. Affected products are SharePoint Server Subscription Edition, 2019, and 2016; fixed via the July 2026 Patch Tuesday cumulative updates.
The vendor CRITICAL / 9.1 rating is accurate and if anything understates the operational risk. Rapid7 disclosed this as the *first half* of a Pwn2Own Berlin 2026 chain — the paired RCE bug is scheduled for the August 2026 Patch Tuesday. Patching CVE-2026-55040 today breaks the full chain, but once August drops (or once someone else finds the RCE half independently, or once Rapid7 publishes technical details in 30 days), on-prem SharePoint becomes a repeat of the 2025 ToolShell fire drill. Treat this as pre-weaponized.
5 steps from start to impact.
Enumerate a valid SID or UPN
- Network reachability to the SharePoint web front end (HTTPS)
- Knowledge of a valid UPN or SID for a SharePoint-entitled account
- None meaningful — UPN == email in virtually every AD-integrated tenant
- Admin UPNs are frequently discoverable via
sharepoint/_api/web/siteuserson partner-facing or misconfigured sites
Forge JWT and bypass token validation
- Vulnerable SharePoint build (SE, 2019, or 2016 pre-July 2026 CU)
- TCP/443 reachable from attacker
- WAFs with virtual patches from F5/Akamai/Cloudflare may block once signatures ship
- Front-end not internet-exposed limits the attacker population to insiders / post-initial-access
sp.userprofiles and _api/web/currentuser traffic without preceding auth flowPerform SharePoint actions as impersonated user
- Impersonated principal has elevated SharePoint role
- Least-privilege site permissions reduce blast per-account
- DLP on sensitive libraries may alert on bulk download
SharePoint.FileAccessed, SharePoint.SecurityChange) capture the actions but attribute them to the impersonated user — investigators must correlate source IPChain to unauthenticated RCE (imminent)
w3wp.exe code execution on the SharePoint farm — mirroring the 2025 ToolShell (CVE-2025-53770) trajectory. Weaponized tools historically follow within 72 hours of a SharePoint RCE dropping.- The paired RCE bug becomes public or is independently discovered
- Auth bypass has not been patched by August
- The RCE half is not yet public — window of grace measured in weeks, not months
w3wp.exe spawning cmd.exe/powershell.exe, unusual .aspx writes to TEMPLATE\LAYOUTS, machine key theft attemptsPivot into AD from farm account
MachineKeys, or use the farm account to move laterally to the SharePoint SQL back-end. From there, the standard AD-attack path leads to DA.- SharePoint farm account is a domain user (default deployment)
- gMSA-backed farm accounts limit credential extraction
- Tiered administration models slow domain escalation
Event ID 4769 burstsThe supporting signals.
| In-the-wild exploitation | Not yet observed as of 2026-07-15. Rapid7 disclosure is coordinated; PoC is embargoed 30 days. History (ToolShell CVE-2025-53770) suggests exploitation within days of technical detail release. |
|---|---|
| Proof-of-concept availability | None public yet. Rapid7 will publish full technical details ~2026-08-13. Original chain built by *Stephen Fewer* (Rapid7 Labs) for Pwn2Own Berlin 2026. |
| EPSS | Freshly published — EPSS not yet stabilized; expect rapid rise post-PoC. Treat as top-decile risk given SharePoint precedent. |
| KEV status | Not currently listed. CISA issued a general SharePoint hardening alert 2026-07-14 in the wake of Patch Tuesday. |
| CVSS vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N — network, no auth, no user interaction, high confidentiality and integrity impact. Availability listed as N understates the chained impact. |
| Affected versions | SharePoint Server Subscription Edition, SharePoint Server 2019, SharePoint Server 2016. SharePoint Online (M365) not affected. |
| Fixed builds | July 2026 Patch Tuesday cumulative updates for SPSE, 2019, and 2016. Apply via WSUS or manual MSP install; SharePoint patches require PSConfig post-install to complete. |
| Exposure data | Censys (Aug 2025) counted ~9,665 on-prem SharePoint servers exposed to the internet; Shodan reports ~16,000+. Real number of on-prem farms (internal + external) is materially larger — this is a broad target class. |
| Disclosure date | 2026-07-14 (Microsoft Patch Tuesday) |
| Credited researcher | *Stephen Fewer*, Senior Principal Security Researcher, Rapid7 Labs — via Pwn2Own Berlin 2026 / ZDI. |
noisgate verdict.
Unchanged at CRITICAL because the single most decisive factor is role multiplier: on-prem SharePoint farms are canonical high-value identity-adjacent targets, holding regulated content and running under domain-joined farm accounts that pivot straight into Active Directory. The auth-bypass primitive is unauthenticated, network-reachable, and Rapid7 has publicly stated the paired RCE bug ships in the August CU — the exploit chain is pre-weaponized and on a countdown clock.
Why this verdict
- Pre-auth, network, no user interaction — the only prerequisite is knowing a UPN, which is functionally an email address. This is the lowest-friction precondition class.
- Role multiplier — SharePoint farm accounts are AD-integrated by definition. Successful impersonation of a site admin plus farm-account credential extraction ends in domain compromise; this is the canonical high-value-role outcome and floors the verdict at CRITICAL.
- Publicly telegraphed exploit chain — Rapid7's disclosure explicitly states the paired RCE is coming in August and technical details drop in ~30 days. Defenders have weeks, not months.
- Broad exposed population — ~10-16k internet-facing on-prem farms per Censys/Shodan, and internal-only farms multiply the fleet target significantly.
- No friction downgrades apply. WAFs don't have signatures yet, MFA lives above the token layer (not below it), and the vuln bypasses the entire auth stack.
Why not higher?
There is no higher bucket than CRITICAL. Score capped at 9.3 rather than 10.0 because as a standalone bug it grants impersonation, not code execution — the RCE step is not yet public. Once the August RCE ships or the PoC drops, effective score for unpatched farms is 10.0.
Why not lower?
Downgrading to HIGH would require either narrow deployment (SharePoint is ubiquitous), meaningful precondition friction (knowing a UPN is not friction), or absence of a plausible pivot to fleet compromise (farm accounts pivot to AD). None of those apply. The 'requires internal network' argument fails because Censys sees ~10k farms on the public internet.
What to do — in priority order.
- Deploy the July 2026 Patch Tuesday SharePoint CU and run PSConfig on every farm within 3 days — This is the vendor fix and the only durable control. Per the noisgate mitigation SLA for CRITICAL, deployment must complete within 3 days. SharePoint patches are not complete until
PSConfig.exe -cmd upgrade -inplace b2b -wait -cmd applicationcontent -install -cmd installfeaturesruns on every server in the farm. - Pull internet-facing SharePoint farms off the public internet or front them with a WAF in blocking mode — Restrict TCP/443 to VPN/ZTNA/corporate ranges only. If exposure is required, enable F5/Akamai/Cloudflare virtual patches once signatures ship. This buys time while patches propagate through change control.
- Rotate SharePoint machine keys, farm account credentials, and any service principal secrets after patching — Assume compromise on any farm that was internet-reachable during the 2025 ToolShell window OR any farm not patched within 72 hours of this CVE. Machine key theft was the ToolShell endgame and will be reused here.
- Convert farm accounts to gMSA where possible — Group Managed Service Accounts prevent credential extraction from LSASS/registry, breaking the SharePoint → AD pivot path that gives this bug its blast radius.
- Enable AMSI integration and constrained language mode on SharePoint servers — SharePoint has native AMSI support since the September 2023 CU. Turn it on now to catch the RCE half when it lands. Set
Set-SPSecurityHardeningPolicy -EnableAMSI $true.
- Multi-factor authentication — the JWT bypass sidesteps the authentication flow entirely; MFA is never invoked.
- Disabling anonymous access on the site — the flaw is in token validation, not in anonymous permissions.
- Network segmentation from user VLANs alone — insufficient if the SharePoint farm is reachable from any assumed-hostile network (contractor VPN, guest wifi bridged segments).
- SharePoint Online migration 'plans' — irrelevant to on-prem farms still running today; this bug does not affect M365 SharePoint Online.
Crowdsourced verification payload.
Run this on each SharePoint farm server as a local administrator with the SharePoint Management Shell loaded. Invoke: .\Check-CVE-2026-55040.ps1. It reads the farm build number and compares against the July 2026 CU fixed versions per Microsoft's advisory. Outputs VULNERABLE, PATCHED, or UNKNOWN.
#requires -Version 5.1
# Check-CVE-2026-55040.ps1
# Detects whether the local SharePoint farm has the July 2026 CU applied.
# Exit codes: 0 PATCHED, 1 VULNERABLE, 2 UNKNOWN
$ErrorActionPreference = 'Stop'
try {
if (-not (Get-PSSnapin -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue)) {
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction Stop
}
} catch {
Write-Output 'UNKNOWN: SharePoint PowerShell snap-in not available — not a SharePoint server?'
exit 2
}
# Fixed builds per Microsoft July 2026 SharePoint updates.
# Update these if MSRC publishes revised build numbers.
$fixedBuilds = @{
'16.0.10417' = [Version]'16.0.10417.20050' # SharePoint Server Subscription Edition
'16.0.10416' = [Version]'16.0.10416.20050' # SPSE prior baseline
'16.0.10415' = [Version]'16.0.10415.20050'
'16.0.10395' = [Version]'16.0.10395.20050' # SharePoint Server 2019
'16.0.4999' = [Version]'16.0.4999.1000' # SharePoint Server 2016
}
try {
$farm = Get-SPFarm
$build = [Version]$farm.BuildVersion
Write-Output "Detected farm build: $build"
$majorMinorBuild = "$($build.Major).$($build.Minor).$($build.Build)"
if ($fixedBuilds.ContainsKey($majorMinorBuild)) {
$required = $fixedBuilds[$majorMinorBuild]
if ($build -ge $required) {
Write-Output "PATCHED: build $build meets or exceeds $required"
exit 0
} else {
Write-Output "VULNERABLE: build $build is below required $required — apply July 2026 CU and run PSConfig"
exit 1
}
} else {
Write-Output "UNKNOWN: unrecognized SharePoint branch $majorMinorBuild — verify manually against MSRC advisory for CVE-2026-55040"
exit 2
}
} catch {
Write-Output "UNKNOWN: failed to read farm build — $($_.Exception.Message)"
exit 2
}
If you remember one thing.
_api endpoints.Sources
- Rapid7 disclosure — CVE-2026-55040 JWT auth bypass
- Rapid7 Patch Tuesday — July 2026
- CISA — SharePoint hardening guidance (2026-07-14)
- ZDI — July 2026 Security Update Review
- Talos — Microsoft Patch Tuesday July 2026
- The Hacker News — Microsoft patches 622 flaws
- Censys — SharePoint exposure telemetry (context)
- Shodan Internet Exposure Dashboard
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.