#vulns.co
/
mcp by GKData.io

← Back to Gadgets

IDOR parameter

Numeric IDs, UUIDs, sequential order numbers, email-as-id, filename, tenant slug. Hidden in JSON, GraphQL, gRPC, websockets, and batch endpoints.

Tags: idor, bac, ato, api

Typical severity: P1-P4

What it becomes

The param is inventory until you prove a second user can read or write the object.

Where to look

  • /api/users/{id}
  • GraphQL node(id:)
  • export?id=
  • invoice PDF
  • support-ticket attachments
  • WebSocket subscribe

Chains

  • Mass data access — Predictable IDs plus no rate limit plus a list endpoint or a range.
  • ATO — Change email / password / 2FA on another userId.
  • Privilege escalation — role, isAdmin, organisationId in the same body as a user-owned object.

Notes

  • UUID is not access control. UUIDs leak in other responses, emails, and JS.
  • Always test GET, POST, PUT, PATCH, DELETE, and the GraphQL mutation of the same object.

← Back to Gadgets