← Back to Feed CACHED · 2026-07-15 06:29:57 · CACHE_KEY CVE-2026-55040
CVE-2026-55040 · CWE-1390 · Disclosed 2026-07-14

Weak authentication in Microsoft Office SharePoint

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

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.

"Pre-auth identity spoofing on SharePoint — half the chain to unauth RCE, and the other half lands in August. Patch now."
02 · The Attack Path

5 steps from start to impact.

STEP 01

Enumerate a valid SID or UPN

Attacker collects the SID or UPN of a target SharePoint user — ideally a site collection admin or farm account. UPNs are typically the user's email address and are trivially harvestable from LinkedIn, breach corpora, or SMTP bounce probes. SIDs can be pulled from any prior foothold, exposed LDAP, or leaked event logs.
Conditions required:
  • Network reachability to the SharePoint web front end (HTTPS)
  • Knowledge of a valid UPN or SID for a SharePoint-entitled account
Where this breaks in practice:
  • None meaningful — UPN == email in virtually every AD-integrated tenant
  • Admin UPNs are frequently discoverable via sharepoint/_api/web/siteusers on partner-facing or misconfigured sites
Detection/coverage: No pre-attack detection — this is passive reconnaissance
STEP 02

Forge JWT and bypass token validation

Attacker crafts a JWT that exploits weaknesses in SharePoint's token validation pipeline (details embargoed 30 days per Rapid7). Full PoC is expected once the coordinated disclosure window closes. Sent to the SharePoint front-end over HTTPS, the token is accepted as authentic and the request is processed under the impersonated user's context.
Conditions required:
  • Vulnerable SharePoint build (SE, 2019, or 2016 pre-July 2026 CU)
  • TCP/443 reachable from attacker
Where this breaks in practice:
  • 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
Detection/coverage: IIS logs will show anonymous requests to authenticated endpoints returning 200 — hunt on sp.userprofiles and _api/web/currentuser traffic without preceding auth flow
STEP 03

Perform SharePoint actions as impersonated user

With impersonation established, the attacker reads, writes, and enumerates as the target — accessing document libraries, adding site admins, exfiltrating regulated data, or planting content. If the impersonated identity is a site collection admin or farm account, the entire SharePoint surface is accessible.
Conditions required:
  • Impersonated principal has elevated SharePoint role
Where this breaks in practice:
  • Least-privilege site permissions reduce blast per-account
  • DLP on sensitive libraries may alert on bulk download
Detection/coverage: SharePoint audit logs (SharePoint.FileAccessed, SharePoint.SecurityChange) capture the actions but attribute them to the impersonated user — investigators must correlate source IP
STEP 04

Chain to unauthenticated RCE (imminent)

Rapid7 disclosed CVE-2026-55040 as one half of a Pwn2Own Berlin 2026 chain; the paired RCE lands in the August 2026 CU. Once patched (or independently rediscovered), attackers with the auth bypass gain SYSTEM/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.
Conditions required:
  • The paired RCE bug becomes public or is independently discovered
  • Auth bypass has not been patched by August
Where this breaks in practice:
  • The RCE half is not yet public — window of grace measured in weeks, not months
Detection/coverage: Post-August: hunt for w3wp.exe spawning cmd.exe/powershell.exe, unusual .aspx writes to TEMPLATE\LAYOUTS, machine key theft attempts
STEP 05

Pivot into AD from farm account

SharePoint farm and application pool identities are typically domain accounts with delegation rights, service principal names, and often local admin on adjacent SQL servers. Kerberoast the farm SPN, dump 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.
Conditions required:
  • SharePoint farm account is a domain user (default deployment)
Where this breaks in practice:
  • gMSA-backed farm accounts limit credential extraction
  • Tiered administration models slow domain escalation
Detection/coverage: AD authentication anomalies from SharePoint web tier IPs, unusual SPN requests, Event ID 4769 bursts
03 · Intelligence Metadata

The supporting signals.

In-the-wild exploitationNot 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 availabilityNone public yet. Rapid7 will publish full technical details ~2026-08-13. Original chain built by *Stephen Fewer* (Rapid7 Labs) for Pwn2Own Berlin 2026.
EPSSFreshly published — EPSS not yet stabilized; expect rapid rise post-PoC. Treat as top-decile risk given SharePoint precedent.
KEV statusNot currently listed. CISA issued a general SharePoint hardening alert 2026-07-14 in the wake of Patch Tuesday.
CVSS vectorCVSS: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 versionsSharePoint Server Subscription Edition, SharePoint Server 2019, SharePoint Server 2016. SharePoint Online (M365) not affected.
Fixed buildsJuly 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 dataCensys (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 date2026-07-14 (Microsoft Patch Tuesday)
Credited researcher*Stephen Fewer*, Senior Principal Security Researcher, Rapid7 Labs — via Pwn2Own Berlin 2026 / ZDI.
04 · The Call

noisgate verdict.

Final Verdict
= UNCHANGED to CRITICAL (9.3/10)

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.

HIGH Vulnerability is real and pre-auth
HIGH Chain-to-RCE trajectory (Rapid7 confirmed second half exists)
MEDIUM Timeline to in-the-wild exploitation (depends on PoC release cadence)

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.

05 · Compensating Control

What to do — in priority order.

  1. 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 installfeatures runs on every server in the farm.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
What doesn't work
  • 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.
06 · Verification

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.

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
#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
}
07 · Bottom Line

If you remember one thing.

TL;DR
Monday morning: pull an inventory of every on-prem SharePoint farm (SPSE / 2019 / 2016), then execute the July 2026 SharePoint CU with PSConfig on every server in every farm. Per the noisgate mitigation SLA for CRITICAL, compensating controls (WAF virtual patch, remove internet exposure, restrict TCP/443 to VPN) must be in place within 3 days; per the noisgate remediation SLA, the CU itself must be fully deployed and PSConfig-completed farm-wide within 90 days — but you do not have 90 days here. Rapid7 publishes technical details ~2026-08-13 and the paired RCE ships in the August Patch Tuesday, at which point unpatched farms become drive-by RCE targets. Realistically, treat mitigation as *hours* and remediation as *this week*. After patching, rotate machine keys and farm-account credentials, and hunt IIS logs back to 2026-07-14 for anonymous requests hitting authenticated _api endpoints.

Sources

  1. Rapid7 disclosure — CVE-2026-55040 JWT auth bypass
  2. Rapid7 Patch Tuesday — July 2026
  3. CISA — SharePoint hardening guidance (2026-07-14)
  4. ZDI — July 2026 Security Update Review
  5. Talos — Microsoft Patch Tuesday July 2026
  6. The Hacker News — Microsoft patches 622 flaws
  7. Censys — SharePoint exposure telemetry (context)
  8. Shodan Internet Exposure Dashboard
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.