Arbitrary File Read is a vulnerability class that allows attackers to read files from the server's filesystem that they should not have access to. This can expose sensitive configuration files, source code, credentials, and private data.
The vulnerability occurs when an application reads files based on user-controlled input without proper validation. Unlike LFI, arbitrary file read doesn't execute the file contents - it simply returns them to the attacker.
# File download functionality
GET /download?file=../../../etc/passwd
# Image/document display
GET /image?path=../../../../app/config/database.yml
# API file retrieval
GET /api/files?name=../../../.env
# PDF/report generation from templates
POST /report?template=../../../../etc/shadow