Insecure direct object reference

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 http://foo.com/doc/1234), 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

edit

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]

References

edit
  1. ^ "Insecure direct object references (IDOR) | Web Security Academy". portswigger.net. Retrieved 2021-01-12.
  2. ^ Karande, Chetan. "Securing Node Applications - 4. Insecure Direct Object References". www.oreilly.com. Retrieved 2021-01-12.
  3. ^ Solomon, Howard (2021-01-12). "Common development error likely led to huge Parler data theft, says expert | IT World Canada News". www.itworldcanada.com. Retrieved 2021-01-12.[permanent dead link]
  4. ^ Cimpanu, Catalin. "Bug hunter wins 'Researcher of the Month' award for DOD account takeover bug". ZDNet. Retrieved 2021-01-12.
  5. ^ Greenberg, Andy (January 12, 2021). "An Absurdly Basic Bug Let Anyone Grab All of Parler's Data". Wired. Archived from the original on January 12, 2021. Retrieved January 12, 2021.
  6. ^ @donk_enby (January 30, 2021). "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)" (Tweet). Archived from the original on January 30, 2021. Retrieved February 12, 2021 – via Twitter.