OpenClaw: Microsoft Teams media fetch paths bypass shared SSRF guard model
Date: 2026-03
Affected: npm/openclaw
Attack vector: ssrf
Category: vulnerability-disclosure
Severity: Low
CWE: CWE-367
CWE-918

## Impact Microsoft Teams media handling used mixed fetch paths for Graph metadata/content and attachment auth-retry flows. Some paths bypassed the shared SSRF guard model and created inconsistent host/DNS enforcement across redirect/fetch hops. ## Affected Packages / Versions - Package: `openclaw` (npm) - Latest published vulnerable version: `2026.2.25` - Affected range: `<= 2026.2.25` - Planned patched version for next release: `2026.2.26` ## Technical Details The Microsoft Teams attachment/media code previously relied on plugin-local fetch behavior in parts of the flow, instead of uniformly using shared guarded fetch logic with pinned DNS + policy checks. This could allow policy drift and SSRF boundary inconsistency between channel/plugin paths. The fix unifies this path by: - routing Microsoft Teams Graph message/hosted-content/attachment fetches through shared SSRF-guarded fetch paths, - routing auth-scope fallback attachment downloads through the same guarded policy model, - centralizing hostname-suffix allowlist policy helpers in `plugin-sdk` so channel/plugins use the same allowlist normalization and policy construction behavior. ## Fix Commit(s) - `57334cd7d85174d5f951de01114fd5801b063564` OpenClaw thanks @tdjackey for reporting.


Mitigations:

Architectural layers (MAESTRO):