New guidance from the Australian Cyber Security Centre (ACSC), the US Cybersecurity and Infrastructure Security Agency (CISA), and National Security Agency (NSA) warns developers, vendors, and organizations of access control vulnerabilities in web applications.
Described as insecure direct object reference (IDOR) issues, they allow threat actors to read or tamper with sensitive data via application programming interface (API) requests that include the identifier of a valid user.
These requests are successful because the authentication or authorization of the user submitting the request is not properly validated, the three agencies explain.
IDOR vulnerabilities, the guidance notes, allow users to access data they should not be able to access either on the same privilege level or at a higher privilege level, to modify or delete data they should not be able to, or to access a function they should not be able to.
The flaws can be triggered by modifying the HTML form field data in the body of a POST request, by modifying identifiers in URLs or cookies to the identifiers of other users, or by intercepting and modifying legitimate requests using web proxies.
“These vulnerabilities are frequently exploited by malicious actors in data breach incidents because they are common, hard to prevent outside the development process, and can be abused at scale. IDOR vulnerabilities have resulted in the compromise of personal, financial, and health information of millions of users and consumers,” ACSC, CISA, and NSA say.
To prevent the prevalence of access control flaws and secure sensitive data, the vendors, designers, and developers of web applications are advised to implement secure-by-design and secure-by-default principles, ensuring that each request to access or modify data is properly authenticated and authorized.
They can use automated tools to identify and address IDOR vulnerabilities, can rely on indirect reference maps to prevent exposure of IDs, names, and keys in URLs, and should vet all third-party libraries and frameworks they include in their applications.
End-user organizations, including those offering software-as-a-service (SaaS), should also vet the web applications they select, should follow best practices for supply chain risk management, and should apply available patches in a timely manner.
Organizations deploying on-premises software, private cloud, or infrastructure-as-a-service (IaaS) are advised to assess the available authentication and authorization checks in web applications and to perform regular vulnerability scanning and penetration testing to secure internet-facing assets.