The manual Chutes OAuth login flow could accept attacker-controlled callback input in a way that bypassed OAuth CSRF state validation, potentially resulting in credential substitution.
If an attacker can convince a user to paste attacker-provided OAuth callback data during the manual login prompt, OpenClaw may exchange an attacker-obtained authorization code and persist tokens for the wrong Chutes account.
The automatic local callback flow is not affected (it validates state in the local HTTP callback handler).
openclaw (npm): <= 2026.2.13 when using the manual Chutes OAuth login flow.The manual flow now requires the full redirect URL (must include code and state), validates the returned state against the expected value, and rejects code-only pastes.
Thanks @aether-ai-agent for reporting.
{
"cwe_ids": [
"CWE-352"
],
"github_reviewed": true,
"github_reviewed_at": "2026-02-18T17:41:00Z",
"nvd_published_at": "2026-03-05T22:16:22Z",
"severity": "MODERATE"
}