← Back to Feed CACHED · 2026-08-12 17:49:41 · CACHE_KEY CVE-2026-63520
CVE-2026-63520 · CWE-20 · Disclosed 2026-08-11

Improper input validation in Microsoft Office SharePoint

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

Someone left the barn door open last month, and now someone else found the horses inside

CVE-2026-63520 is an unsafe .NET type instantiation flaw in SharePoint Server's Business Connectivity Services (BCS). By itself, this bug requires an authenticated session to trigger — but when chained with CVE-2026-55040, a JWT authentication bypass patched in July 2026, an unauthenticated attacker can forge a valid token, impersonate a site admin, and then invoke the BCS gadget chain to achieve remote code execution as the SharePoint farm service account. All supported on-premises versions are affected: SharePoint Server 2016 (≤ 16.0.5565.1001), SharePoint Server 2019 (≤ 16.0.10417.20198), and SharePoint Server Subscription Edition (≤ 16.0.19725.20522). Microsoft Project Server and Office Web Apps Server are also affected.

Microsoft rates this CVE individually as HIGH / 8.1 with AC:H — and that's *roughly fair* if you evaluate the bug in isolation. The complication is the chain: combined with the July auth-bypass, the effective impact is unauthenticated RCE at farm-service-account privilege. However, the attack complexity is genuinely high (the .NET gadget chain is non-trivial to weaponize), and the first link in the chain (CVE-2026-55040) was patched a full month ago. Organizations that applied July Patch Tuesday are already immune to the full chain. For the subset that didn't — and Shadowserver counts ~10,000 internet-exposed SharePoint servers, many historically slow to patch — the risk is severe. We keep the severity at HIGH but nudge the score to 7.5 to reflect the dependency on a month-old unpatched prerequisite and the AC:H friction.

"SharePoint RCE chain is real but needs two unpatched vulns and high complexity to land"
02 · The Attack Path

5 steps from start to impact.

STEP 01

Identify exposed SharePoint Server

Attacker uses Shodan, Censys, or FOFA to enumerate internet-facing SharePoint on-premises instances via /_layouts/15/ paths and SharePoint-specific HTTP headers (MicrosoftSharePointTeamServices). Shadowserver tracks approximately 10,000 such servers globally. The attacker confirms the target is running a vulnerable on-prem build, not SharePoint Online.
Conditions required:
  • Target runs on-premises SharePoint Server 2016/2019/SE
  • SharePoint web front-end is reachable over the internet or from the attacker's network position
Where this breaks in practice:
  • Most large enterprises have migrated to SharePoint Online, which is not affected
  • Censys counts only ~1,500 distinct on-prem hosts by IP; Shadowserver's 10K figure includes virtual hosts
Detection/coverage: Shodan/Censys/FOFA dorks; IIS access logs for enumeration patterns on /_layouts/15/ and /_vti_bin/
STEP 02

Exploit CVE-2026-55040 (JWT auth bypass)

The attacker forges a JWT token exploiting four chained weaknesses in SharePoint's token validation logic (CVE-2026-55040, CVSS 9.1). This grants unauthenticated admin-level access to the SharePoint site. A public PoC exists on GitHub (sfewer-r7/CVE-2026-55040) since the July disclosure.
Conditions required:
  • Target has NOT applied the July 2026 Patch Tuesday update (KB for CVE-2026-55040)
  • SharePoint's claims-based authentication is in use (default)
Where this breaks in practice:
  • CVE-2026-55040 was patched a full month before CVE-2026-63520 was disclosed — orgs with a ≤30-day patch cadence are already protected
  • CISA and multiple vendors issued urgent advisories in July driving accelerated patching
Detection/coverage: WAF rules inspecting JWT tokens for anomalous claims; SharePoint ULS logs showing admin-impersonated sessions from unknown IPs
STEP 03

Trigger BCS gadget chain (CVE-2026-63520)

With forged admin context, the attacker invokes a Business Connectivity Services endpoint and supplies a crafted payload that exploits unsafe .NET type instantiation. The gadget chain deserializes attacker-controlled types, achieving arbitrary code execution. Attack complexity is HIGH per Microsoft's own assessment — the gadget chain requires precise type selection and payload formatting.
Conditions required:
  • Business Connectivity Services feature is available on the target (installed by default, though not always actively configured)
  • CVE-2026-63520 is unpatched (August 2026 KB not applied)
Where this breaks in practice:
  • AC:H — the .NET gadget chain is non-trivial; no public PoC exists yet (30-day embargo until ~September 10, 2026)
  • BCS is a legacy feature that many SharePoint deployments don't actively use, though the attack surface exists regardless of active use
Detection/coverage: Microsoft Defender for Endpoint detects anomalous .NET assembly loading from w3wp.exe; Qualys QID and Tenable plugin available for version-based detection
STEP 04

Code execution as farm service account

The payload executes under the identity of the SharePoint farm service account (typically DOMAIN\sp_farm or similar). This account holds dbcreator and securityadmin SQL Server roles plus db_owner on all SharePoint databases. The attacker now has a foothold with significant domain privileges.
Conditions required:
  • Successful exploitation of steps 2 and 3
Where this breaks in practice:
  • Well-configured environments run farm accounts with least-privilege Group Managed Service Accounts (gMSA), limiting lateral movement
  • Network segmentation between SharePoint WFE and SQL tiers can slow pivot
Detection/coverage: EDR alerting on cmd.exe/powershell.exe spawned by w3wp.exe; SQL audit logs showing unexpected logins from the farm account
STEP 05

Pivot to domain compromise

From the farm service account, the attacker extracts the ASP.NET machineKey for persistent access (survives patching), dumps SQL databases for credentials and sensitive content, and uses the account's AD membership to perform lateral movement. Resecurity's Operation FarmKey demonstrated this exact path from SharePoint WFE to domain controller via Kerberoasting or direct LDAP access from the farm account's elevated posture.
Conditions required:
  • Farm service account is a domain account with non-trivial AD privileges (common default)
  • Network path exists from SharePoint tier to domain controller
Where this breaks in practice:
  • Mature environments with tiered admin models, PAW workstations, and credential guard significantly slow this phase
  • Real-time EDR on the SharePoint server may catch post-exploitation tooling
Detection/coverage: Kerberoasting detection via 4769 events with RC4 encryption; unusual LDAP queries from SharePoint server identity; machineKey extraction via file access monitoring on web.config
03 · Intelligence Metadata

The supporting signals.

In-the-Wild ExploitationNo confirmed exploitation as of 2026-08-13. Microsoft rates exploitability as "Exploitation More Likely". No KEV listing. The related CVE-2026-55040 auth bypass has a public PoC and was used in July 2026 SharePoint campaigns (Resecurity Operation FarmKey), but those used *different* RCE bugs (CVE-2026-45659, CVE-2026-32201).
Proof of ConceptNo public PoC for CVE-2026-63520. Rapid7 (researcher: Spencer McIntyre / sfewer-r7) agreed to a 30-day embargo on technical details and PoC, expected ~September 10, 2026. PoC for the prerequisite CVE-2026-55040 is public on GitHub.
EPSS0.01122 (≈1.1%) — low probability of exploitation in the next 30 days, consistent with the PoC embargo and AC:H complexity
KEV StatusNot listed on CISA KEV as of 2026-08-13
CVSS VectorCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H — network-accessible, high complexity, no privileges required (when chained), full CIA impact. The AC:H is the key limiter and is accurate for the gadget chain difficulty.
Affected VersionsSharePoint Server Subscription Edition (all builds before 16.0.19725.20522), 2019 (before 16.0.10417.20198), 2016 (before 16.0.5565.1001). Also affects certain Microsoft Project Server and Office Web Apps Server versions. SharePoint Online is NOT affected.
Fixed VersionsSE: 16.0.19725.20522 (KB5002893) · 2019: 16.0.10417.20198 (KB5002894, KB5002896) · 2016: 16.0.5565.1001 (KB5002905, KB5002906) — all via August 2026 Patch Tuesday
Exposure DataCensys: ~1,500 on-prem SharePoint hosts by IP. Shadowserver: ~10,000 internet-exposed SharePoint servers. Petri reports 1,300+ remain unpatched against prior July 2026 SharePoint CVEs — a proxy for likely CVE-2026-55040 exposure.
Disclosure TimelineCVE-2026-55040 (auth bypass): patched July 2026 Patch Tuesday. CVE-2026-63520 (RCE): disclosed August 11, 2026 by Rapid7 and Microsoft. PoC embargo expires ~September 10, 2026.
Reporting ResearcherRapid7 Labs (Spencer McIntyre / sfewer-r7) — discovered via AI-assisted zero-day research program targeting SharePoint
04 · The Call

noisgate verdict.

Final Verdict
= UNCHANGED to HIGH (7.5/10)

The single most decisive factor is the dependency on a month-old prerequisite vulnerability (CVE-2026-55040) that was already patched in July — orgs with even a 30-day patch cadence are immune to the full unauthenticated chain, substantially narrowing the exploitable population. The role multiplier (SharePoint farm account → domain compromise) sets a HIGH floor that prevents further downgrade despite the AC:H complexity and absent PoC.

HIGH Vulnerability technical details and affected versions
HIGH Chain dependency on CVE-2026-55040
MEDIUM Exploitability timeline (PoC embargo may be broken early)
LOW Active exploitation status (could change rapidly once PoC drops)

Why this verdict

  • Chain dependency narrows population: The full unauthenticated RCE chain requires CVE-2026-55040 to be unpatched. That bug was fixed in July 2026 — one full patch cycle ago. Organizations with ≤30-day SLAs have already closed this door, eliminating the chain for a significant fraction of the installed base.
  • AC:H is genuine friction: Microsoft's own CVSS rates attack complexity as High. The .NET BCS gadget chain requires specific type instantiation sequences. No public PoC exists, and Rapid7's 30-day embargo pushes weaponization to mid-September at earliest. This is not a spray-and-pray vulnerability.
  • Limited internet exposure: On-premises SharePoint is a shrinking footprint. Censys counts ~1,500 distinct hosts; Shadowserver tracks ~10,000 including virtual hosts. Most enterprise SharePoint has migrated to SharePoint Online (not affected). The reachable attack surface is small relative to the total SharePoint installed base.
  • Role multiplier — SharePoint farm account is a domain-compromise pivot: The farm service account typically holds dbcreator and securityadmin SQL roles and is a domain account. Resecurity's Operation FarmKey demonstrated the full path from SharePoint WFE → SQL → AD → domain controller. This blast radius is domain-scale, which sets the severity floor at HIGH and prevents downgrade to MEDIUM despite the friction factors.
  • No exploitation, no KEV, low EPSS: As of assessment date, there is zero confirmed in-the-wild exploitation, no KEV listing, and EPSS is 1.1%. The threat is latent, not active — this is a 30-day window to patch before the PoC embargo lifts.

Why not higher?

The chain requires two unpatched vulnerabilities, one of which was fixed a month ago — this is a compounding friction point that meaningfully reduces the exploitable population. There is no public PoC and no active exploitation. The AC:H complexity is genuine, not artificially inflated. Upgrading to CRITICAL would only be warranted if exploitation were active or the PoC were public.

Why not lower?

SharePoint Server is canonically a high-value-role component — the farm service account's SQL and AD privileges create a documented path to domain compromise (Operation FarmKey). This blast radius sets a HIGH floor per role-multiplier rules. Additionally, once the PoC embargo lifts (~September 10), weaponization is expected to be rapid given the existing public PoC for the auth bypass half of the chain. The 1,300+ servers still unpatched against July SharePoint CVEs represent a confirmed population that is likely vulnerable to the full chain.

05 · Compensating Control

What to do — in priority order.

  1. Verify CVE-2026-55040 (July 2026) patch is applied immediately — The full unauthenticated chain requires the July auth bypass to be unpatched. Confirming KB deployment for CVE-2026-55040 eliminates the most dangerous attack path *right now*, even before the August patch is applied. This is your highest-ROI action — deploy within the noisgate HIGH mitigation SLA of 30 days, though given the chain severity, prioritize within 7 days.
  2. Restrict internet exposure of SharePoint Server — Place on-premises SharePoint behind a VPN, reverse proxy with pre-authentication (Azure AD App Proxy, Cloudflare Access), or remove direct internet exposure entirely. This eliminates the unauthenticated remote attack vector. Deploy within 30 days per noisgate HIGH mitigation SLA.
  3. Disable or restrict Business Connectivity Services — If BCS is not actively used (common in many deployments), disable the BCS service application in Central Administration. This removes the specific attack surface for CVE-2026-63520's gadget chain. Test in non-production first — BCS removal can break external data connections.
  4. Rotate the ASP.NET machineKey on all WFE servers — Even after patching, a previously compromised machineKey grants persistent access. Regenerate machineKeys in web.config across all SharePoint web front-ends and redistribute. This is especially critical if you suspect any prior SharePoint compromise in July 2026.
  5. Audit farm service account privileges — Ensure the farm account uses a Group Managed Service Account (gMSA) with minimal AD privileges. Remove unnecessary group memberships. This limits blast radius if the account is compromised. Review SQL role assignments — dbcreator and securityadmin should be scoped narrowly.
What doesn't work
  • SharePoint Online migration as a control for this CVE — while SharePoint Online is not affected, migration is a multi-month project, not a compensating control for an active vulnerability window
  • WAF rules alone — the BCS gadget chain payload is delivered over legitimate SharePoint API endpoints after authentication; generic WAF signatures are unlikely to detect the .NET deserialization payload without SharePoint-specific rule sets
  • Disabling anonymous access — CVE-2026-55040 bypasses authentication entirely via JWT forgery, so toggling anonymous access settings has no effect on the chain
06 · Verification

Crowdsourced verification payload.

Run this script on each SharePoint server (WFE and application tier) as a local administrator. Execute: powershell -ExecutionPolicy Bypass -File .\Check-CVE202663520.ps1. The script checks installed SharePoint build numbers against the patched versions for both CVE-2026-63520 (August) and CVE-2026-55040 (July).

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
#Requires -RunAsAdministrator
# Check-CVE202663520.ps1
# Checks SharePoint Server patch status for CVE-2026-63520 and CVE-2026-55040
# Exit codes: 0 = PATCHED, 1 = VULNERABLE, 2 = UNKNOWN

try {
    Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction Stop
} catch {
    Write-Host "UNKNOWN - SharePoint PowerShell snap-in not available. Is this a SharePoint server?"
    exit 2
}

try {
    $farm = Get-SPFarm -ErrorAction Stop
    $build = $farm.BuildVersion
    $version = "$($build.Major).$($build.Minor).$($build.Build).$($build.Revision)"
    Write-Host "Detected SharePoint build: $version"
    Write-Host "Major: $($build.Major) Minor: $($build.Minor) Build: $($build.Build) Rev: $($build.Revision)"

    # Patched builds for CVE-2026-63520 (August 2026 Patch Tuesday)
    $vulnerable = $false
    $chainVulnerable = $false

    if ($build.Major -eq 16) {
        if ($build.Minor -ge 19000) {
            # Subscription Edition
            if ($build.Build -lt 19725 -or ($build.Build -eq 19725 -and $build.Revision -lt 20522)) {
                $vulnerable = $true
                Write-Host "SharePoint Server Subscription Edition - NOT patched for CVE-2026-63520"
            } else {
                Write-Host "SharePoint Server Subscription Edition - Patched for CVE-2026-63520"
            }
        } elseif ($build.Minor -ge 10000) {
            # SharePoint 2019
            if ($build.Build -lt 10417 -or ($build.Build -eq 10417 -and $build.Revision -lt 20198)) {
                $vulnerable = $true
                Write-Host "SharePoint Server 2019 - NOT patched for CVE-2026-63520"
            } else {
                Write-Host "SharePoint Server 2019 - Patched for CVE-2026-63520"
            }
        } elseif ($build.Minor -ge 4000) {
            # SharePoint 2016
            if ($build.Build -lt 5565 -or ($build.Build -eq 5565 -and $build.Revision -lt 1001)) {
                $vulnerable = $true
                Write-Host "SharePoint Server 2016 - NOT patched for CVE-2026-63520"
            } else {
                Write-Host "SharePoint Server 2016 - Patched for CVE-2026-63520"
            }
        } else {
            Write-Host "UNKNOWN - Unrecognized SharePoint 16.x build"
            exit 2
        }
    } else {
        Write-Host "UNKNOWN - Unexpected major version: $($build.Major)"
        exit 2
    }

    # Check BCS service status
    $bcs = Get-SPServiceInstance | Where-Object { $_.TypeName -like "*Business Data*" -or $_.TypeName -like "*Business Connectivity*" }
    if ($bcs) {
        $bcsRunning = $bcs | Where-Object { $_.Status -eq "Online" }
        if ($bcsRunning) {
            Write-Host "WARNING: Business Connectivity Services is RUNNING (attack surface present)"
        } else {
            Write-Host "INFO: Business Connectivity Services is installed but NOT running (reduced attack surface)"
        }
    } else {
        Write-Host "INFO: Business Connectivity Services not found (attack surface absent)"
    }

    if ($vulnerable) {
        Write-Host ""
        Write-Host "VULNERABLE - CVE-2026-63520 patch not applied. Apply August 2026 Patch Tuesday updates."
        exit 1
    } else {
        Write-Host ""
        Write-Host "PATCHED - CVE-2026-63520 fix is applied."
        exit 0
    }
} catch {
    Write-Host "UNKNOWN - Error querying SharePoint farm: $($_.Exception.Message)"
    exit 2
}
07 · Bottom Line

If you remember one thing.

TL;DR
Monday morning: First, confirm your July 2026 Patch Tuesday updates are deployed — the auth bypass half of this chain (CVE-2026-55040) was patched last month, and closing that door is the single fastest way to neutralize the unauthenticated RCE risk. Then schedule the August 2026 cumulative update (KB5002893/KB5002894/KB5002905) for your SharePoint servers within the noisgate mitigation SLA of 30 days. If any SharePoint servers are directly internet-facing, move them behind pre-authenticated reverse proxies this week — do not wait. The PoC embargo lifts around September 10, and weaponization will follow quickly given the existing public exploit for the auth bypass. Full noisgate remediation SLA is 180 days, but realistically you want August patches deployed well before mid-September. While patching, audit your farm service account privileges and rotate ASP.NET machineKeys on all web front-ends as a precaution against any prior compromise from the July SharePoint campaign wave.

Sources

  1. Rapid7 — CVE-2026-63520 SharePoint RCE Disclosure
  2. Rapid7 — CVE-2026-55040 SharePoint JWT Auth Bypass
  3. Resecurity — From Web Request to Domain Compromise: July 2026 SharePoint Attacks
  4. Petri — Over 1,300 Internet-Exposed SharePoint Servers Remain Vulnerable
  5. Censys — SharePoint Server Vulnerability Advisory
  6. CISA — SharePoint Hardening Advisory
  7. The Hacker News — AI-Assisted SharePoint Exploit Chain
  8. Help Net Security — August 2026 Patch Tuesday
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.