BACFuzz: Exposing the Silence on Broken Access Control Vulnerabilities in Web Applications

📅 2025-07-21
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Broken Access Control (BAC) vulnerabilities—including BOLA and BFLA—are challenging to detect automatically in web applications due to the lack of reliable testing benchmarks and semantically valid attack requests. To address this, we propose the first grey-box fuzzing framework tailored for PHP applications. Our approach innovatively integrates LLM-guided parameter selection, runtime context-aware instrumentation, and backend semantic validation based on SQL query analysis. Lightweight instrumentation and precise SQL semantics enable high-accuracy vulnerability identification. Evaluated on 20 real-world PHP applications, our framework successfully detects 16 out of 17 known BAC vulnerabilities and discovers 26 previously unknown ones, achieving a significantly lower false-positive rate than state-of-the-art methods. All identified vulnerabilities have been responsibly disclosed.

Technology Category

Application Category

📝 Abstract
Broken Access Control (BAC) remains one of the most critical and widespread vulnerabilities in web applications, allowing attackers to access unauthorized resources or perform privileged actions. Despite its severity, BAC is underexplored in automated testing due to key challenges: the lack of reliable oracles and the difficulty of generating semantically valid attack requests. We introduce BACFuzz, the first gray-box fuzzing framework specifically designed to uncover BAC vulnerabilities, including Broken Object-Level Authorization (BOLA) and Broken Function-Level Authorization (BFLA) in PHP-based web applications. BACFuzz combines LLM-guided parameter selection with runtime feedback and SQL-based oracle checking to detect silent authorization flaws. It employs lightweight instrumentation to capture runtime information that guides test generation, and analyzes backend SQL queries to verify whether unauthorized inputs flow into protected operations. Evaluated on 20 real-world web applications, including 15 CVE cases and 2 known benchmarks, BACFuzz detects 16 of 17 known issues and uncovers 26 previously unknown BAC vulnerabilities with low false positive rates. All identified issues have been responsibly disclosed, and artifacts will be publicly released.
Problem

Research questions and friction points this paper is trying to address.

Detecting Broken Access Control vulnerabilities in web apps
Overcoming lack of reliable oracles in automated BAC testing
Identifying silent authorization flaws via SQL-based oracle checking
Innovation

Methods, ideas, or system contributions that make the work stand out.

LLM-guided parameter selection for fuzzing
SQL-based oracle checking for authorization flaws
Lightweight instrumentation for runtime feedback
🔎 Similar Papers