GitHub Advisoryadvisory · npm
GHSA-7qf6-h84j-8fq4 OpenClaw: Microsoft Teams media fetch paths bypass shared SSRF guard model
LOW
Official page ↗
- Ecosystem
- npm
- Packages
- openclaw
- Severity
- Low
- CVSS vector
- CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:N/VI:N/VA:N/SC:L/SI:N/SA:N
- Weaknesses
- CWE-367, CWE-918
- Reviewed
- 2026-03-03
Affected packages
• npm openclaw: < 2026.2.26 → fixed in 2026.2.26
Description
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.