paper

IDORacle: Template-Guided SQL-Sink Mediation for Object-Level Authorization in Java Applications

arXiv:2609.12426 · doi:10.1016/j.cose.2026.105143

Abstract

Insecure Direct Object Reference (IDOR), often modeled as Broken Object-Level Authorization (BOLA), remains prevalent in Java database applications because identity and authorization checks at the controller or service layer are disconnected from SQL execution based on resource identifiers. Existing work largely detects these vulnerabilities but offers limited low-intrusion runtime protection for legacy Java-SQL applications. We present IDORacle, a template-guided SQL-sink interception and rewriting framework for preventing horizontal privilege escalation at runtime. IDORacle propagates authenticated identity context across HTTP requests, asynchronous tasks, and data-access boundaries through a server-side trace identifier. At the MyBatis/JDBC boundary, it extracts SQL templates, computes dual fingerprints, and performs one-time template analysis to generate reusable mediation plans. During execution, it combines subject context, SQL ASTs, table metadata, and cached authorization proofs to permit, rewrite, or block operations. Its guard model supports direct ownership predicates, join-derived ownership, probes for group-owned resources, role-sensitive state transitions, and sensitive-column mediation. A Java-SQL benchmark grounded in real-world CVE reports shows that IDORacle prevents the tested horizontal authorization violations with a worst-case guard latency of 0.17 ms. Redundancy-aware optimization reduces average per-instance overhead by more than 90%, to 0.017 ms for hot SQL templates.

16 pages, 3 figures. This manuscript reflects the pre-peer-review version of the work. A peer-reviewed journal version, titled "IDORacle: Template-Guided Data-Access Mediation for Object-Level Authorization in Database-Backed Applications," is available online in Computers & Security: https://doi.org/10.1016/j.cose.2026.105143

IDORacle: Template-Guided SQL-Sink Mediation for Object-Level Authorization in Java Applications · wovepaper