-
-
Notifications
You must be signed in to change notification settings - Fork 79.2k
[Bug] QQ bot token fetch still blocked by SSRF — RFC2544 benchmark range not allowed #88984
Copy link
Copy link
Closed
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.ClawSweeper 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.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.impact:securitySecurity boundary, credential, authz, sandbox, or sensitive-data risk.Security boundary, credential, authz, sandbox, or sensitive-data risk.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Metadata
Metadata
Assignees
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.ClawSweeper 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.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.impact:securitySecurity boundary, credential, authz, sandbox, or sensitive-data risk.Security boundary, credential, authz, sandbox, or sensitive-data risk.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Bug Description
The QQ bot plugin cannot obtain access tokens because
fetchWithSsrFGuardindoFetchToken()is called without apolicyparameter. Whenbots.qq.comresolves to a198.18.x.xaddress (RFC 2544 benchmark range), the default SSRF policy blocks it.Error Log
bots.qq.comresolves to198.18.0.70— an address in the RFC 2544 benchmark address range (198.18.0.0/15).Root Cause
In the QQ bot plugin's bundled runtime JS (
runtime-DWfbz21q.js), thedoFetchToken()method callsfetchWithSsrFGuard()without passing apolicyparameter:Meanwhile the media upload path already has the correct policy:
The fix is to add
policy: { allowRfc2544BenchmarkRange: true }to the token fetch call, exactly as the media path already does.Environment
198.18.0.70forbots.qq.comWorkaround
Patch the QQ bot plugin runtime JS file directly:
~/.openclaw/npm/projects/openclaw-qqbot-*/node_modules/@openclaw/qqbot/dist/runtime-DWfbz21q.jsdoFetchToken()method'sfetchWithSsrFGuardcallpolicy: { allowRfc2544BenchmarkRange: true }betweencapture: falseandinitA systemd
ExecStartPrecan re-apply the patch on every gateway start.Related
clawsweeper[bot]marked it resolved without the fix actually shipping to the QQ plugin code.