The Arc Browser Vulnerability Exposes the Inefficiency of Row-Level Security (RLS)
Blog post from Permit.io
A recent vulnerability discovered in the Arc browser highlighted the limitations of relying solely on row-level security (RLS) for protecting data, as the flaw allowed attackers to run unauthorized JavaScript code by manipulating database entries. This incident underscores the need for more advanced security measures beyond RLS, which, though useful for controlling data access, is insufficient for modern applications that require more sophisticated, user-centric security models. The vulnerability arose from the misuse of the Boost feature in Arc, where hackers could alter the "Creator ID" to inject malicious code. The failure to implement additional security checks, such as ensuring only the original creator could modify their Boost, exposed a critical gap in Arc's security strategy. The case serves as a cautionary tale about the false sense of security provided by backend services like Firebase, which offer RLS as a feature, but do not replace the need for comprehensive, user-centric security frameworks like Role-Based Access Control (RBAC) or Relationship-Based Access Control (ReBAC). To enhance security, it is recommended to externalize authorization, regularly audit security policies, and adopt advanced security models that focus on user roles and actions, ensuring robust protection against potential vulnerabilities.