Skip to content

[Bug]: Teams Graph/media guarded fetches reject RFC2544-proxied hosts #107163

Description

@galiniliev

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

Microsoft Teams Graph requests and attachment/media downloads can be blocked by the SSRF guard in host-proxied deployments where allowed Microsoft hosts resolve to the RFC2544 benchmark range 198.18.0.0/15.

Steps to reproduce

  1. Run OpenClaw with the Microsoft Teams plugin in a host-proxied container or DNS sinkhole environment where external hostnames resolve to 198.18.0.0/15 before egress interception.
  2. Trigger a Teams operation that performs a Microsoft Graph request or fetches Teams/SharePoint/Bot Framework media through the plugin.
  3. Observe the guarded fetch being rejected before the host proxy can receive the request.

Expected behavior

Allowed Microsoft Graph and Teams media hostnames should pass the SSRF guard when they resolve to RFC2544 fake-IP addresses used by the host egress proxy, without allowing arbitrary private-network targets.

Actual behavior

The Teams Graph path did not pass an SSRF policy, and the attachment/media path only passed a hostname allowlist policy without allowRfc2544BenchmarkRange, so DNS results in 198.18.0.0/15 were rejected by the guard.

OpenClaw version

Current main before 5e85d3a

Operating system

Linux container / host-proxied deployment

Install method

NOT_ENOUGH_INFO

Model

NOT_ENOUGH_INFO

Provider / routing chain

Microsoft Teams plugin -> Microsoft Graph / Teams media guarded fetch -> host-proxied egress

Additional provider/model setup details

No provider/model issue is involved. The failure is in the Microsoft Teams plugin's guarded network fetch policy for Graph and media URLs.

Logs

Patch-backed source evidence from current main:
extensions/msteams/src/graph.ts requestGraph called fetchWithSsrFGuard without a policy.
extensions/msteams/src/graph.ts fetchGraphAbsoluteUrl called fetchWithSsrFGuard without a policy.
extensions/msteams/src/attachments/shared.ts resolveMediaSsrfPolicy returned only buildHostnameAllowlistPolicyFromSuffixAllowlist(allowHosts).

Environment behavior from the bug evidence:
External hostnames resolve to RFC2544 198.18.0.0/15 fake-IP targets before the host proxy intercepts egress.
OpenClaw's SSRF guard blocks that range unless the policy carries allowRfc2544BenchmarkRange: true.

Screenshots, recordings, and evidence

Current-main source proof plus focused regression tests added in PR. No raw live gateway failure log was available in the local bug bundle.

Impact and severity

Affected: Microsoft Teams plugin users in host-proxied or DNS-sinkhole egress deployments.
Severity: Medium integration break.
Frequency: Expected whenever Teams Graph/media hostnames resolve to RFC2544 fake-IP addresses in that deployment shape.
Consequence: Graph-backed Teams operations and media handling can fail before reaching the intended host proxy.

Additional information

No duplicate open issue or PR was found by Gitcrawl or live GitHub search for RFC2544 msteams / 198.18 Teams Graph.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.bugSomething isn't workingclawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:securitySecurity boundary, credential, authz, sandbox, or sensitive-data risk.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.maintainerMaintainer-authored PR

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions