Insecure direct object reference explained

Insecure direct object reference (IDOR) is a type of access control vulnerability in digital security.[1]

This can occur when a web application or application programming interface uses an identifier for direct access to an object in an internal database but does not check for access control or authentication. For example, if the request URL sent to a web site directly uses an easily enumerated unique identifier (such as <nowiki>http://foo.com/doc/1234</nowiki>), that can provide an exploit for unintended access to all records.

A directory traversal attack is considered a special case of a IDOR.[2]

The vulnerability is of such significant concern that for many years it was listed as one of the Open Web Application Security Project’s (OWASP) Top 10 vulnerabilities.[3]

Examples

In November 2020, the firm Silent Breach identified an IDOR vulnerability with the United States Department of Defense web site and privately reported it via the DOD's Vulnerability Disclosure Program. The bug was fixed by adding a user session mechanism to the account system, which would require authenticating on the site first.[4]

It was reported that the Parler social networking service used sequential post IDs, and that this had enabled the scraping of terabytes of data from the service in January 2021. The researcher responsible for the project has said this was inaccurate.[5] [6]

Notes and References

  1. Web site: Insecure direct object references (IDOR) Web Security Academy. 2021-01-12. portswigger.net.
  2. Web site: Karande. Chetan. Securing Node Applications - 4. Insecure Direct Object References. 2021-01-12. www.oreilly.com. en.
  3. Web site: Solomon. Howard. 2021-01-12. Common development error likely led to huge Parler data theft, says expert IT World Canada News. 2021-01-12. www.itworldcanada.com. en-US.
  4. Web site: Cimpanu. Catalin. Bug hunter wins 'Researcher of the Month' award for DOD account takeover bug. 2021-01-12. ZDNet. en.
  5. Greenberg . Andy . An Absurdly Basic Bug Let Anyone Grab All of Parler's Data . January 12, 2021 . Wired . January 12, 2021 . January 12, 2021 . https://web.archive.org/web/20210112164535/https://www.wired.com/story/parler-hack-data-public-posts-images-video/ . live .
  6. 1355640041155031040. donk_enby. also a lot of the news coverage claimed the post IDs were sequential. they were not, but: https://github.com/d0nk/parler-tricks/blob/main/parler/conversion.py#L22 (this endpoint only existed in their iOS app and afaik wasn't actually used for anything). January 30, 2021. https://web.archive.org/web/20210130221238/https://twitter.com/donk_enby/status/1355640041155031040. February 12, 2021. January 30, 2021. live.