CyberGuard dictionary / Web Application Security

Insecure Direct Object Reference

THE DEFINITION

An insecure direct object reference (IDOR) exposes an object through a user-controlled identifier without checking the caller's permission for that object.

In simple terms

Changing a record number in a URL should never let a person see someone else's record.

Technical explanation

IDOR is an object-level authorization failure. The server must evaluate the caller's rights to the specific resource on every request; random identifiers make guessing harder but do not replace authorization.

The object identifier may be predictable or random; the actual failure is missing object-level authorization. Every read and write should test the caller's relationship to that specific record.

Examples in practice

A user replaces their invoice ID with another customer's ID and receives that customer's invoice because ownership is never checked.

A customer guesses another invoice number, but the server compares invoice ownership with the signed-in account and returns a denial. A regression test covers both read and update endpoints.

Why it matters

IDOR can expose or change individual records across customer or tenant boundaries.

VERIFY & LEARN MORE

Sources and further reading

Published 2026-10-15 · Last updated 2026-10-15 · CyberGuard editorial content. Source links provide context; they do not imply endorsement.

← Browse all definitions