# MCP proxy consent confuses different clients

A proxy reuses upstream consent in a way that grants a new MCP client access without the resource owner’s intended per-client consent.

**Candidate CWE:** [CWE-441](https://cwe.mitre.org/data/definitions/441.html)

## Test hypothesis

In an owned OAuth fixture, authorize client A, retain the browser’s normal upstream state, then initiate client B. Compare with a clean-browser baseline and inspect whether B receives authorized access before its own consent.

## Evidence required

Both registered client IDs, requested scopes, consent records, redirect binding and a synthetic resource-access result; redact codes and tokens.

## Rule out false positives

A shared upstream client ID alone is not proof; demonstrate the complete consent bypass conditions.

## Playbook and command references

- [AI tools: input trust, execution identity and approvals](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/modules/ai-tool-trust.html) — Prove when lower-trust content changes a protected tool action, then locate the missing authorization or consent boundary.
- [Authentication, recovery, federation, and session lifecycle](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/modules/identity-session.html) — Test registration, recovery, identity changes, invitations, SSO enforcement, and deprovisioning as one account state machine.

[Find the associated command snippets](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/commands.html?q=AI%20tools%3A%20input%20trust%2C%20execution%20identity%20and%20approvals)

## Referenced by these target playbooks

[AI, agents & MCP](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/ai.html) · [OSS & self-hosted](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/oss.html)

## Report checklist

- [ ] Capture the affected version, configuration, identities, and object ownership.
- [ ] Preserve a valid baseline and a negative control.
- [ ] Reproduce the forbidden data access, action, or state change on controlled fixtures.
- [ ] Explain the intended security rule and why the observed behavior violates it.
- [ ] State prerequisites, uncertainty, cleanup, and the smallest demonstrated impact.

## Conditional ATT&CK mapping

No direct ATT&CK mapping selected. Record the weakness and demonstrated impact without forcing an adversary-behavior classification. See the [mapping guide](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/attack.html).

## Primary references

- [MCP Security Best Practices](https://modelcontextprotocol.io/docs/2026-07-28/tutorials/security/security_best_practices)

[Back to the complete vulnerability catalog](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/vulnerabilities.html)
