Fix Unrestricted Resource Consumption in FuelPHP
Unrestricted Resource Consumption in FuelPHP is a classic vector for Denial of Service (DoS). By failing to enforce quotas on file uploads, memory-intensive operations, or database result sets, you allow attackers to starve the CPU or exhaust RAM. To mitigate this, you must implement strict input validation and resource throttling at the framework level.
The Vulnerable Pattern
public function action_process_data() { // VULNERABLE: No limit on input size or DB records $limit = Input::get('limit'); $data = Model_Post::find('all', array('limit' => $limit));// VULNERABLE: Processing uploads without size restrictions Upload::process(); Upload::save();
}
The Secure Implementation
The fix involves two primary layers: 1. Input Throttling: Never trust user-supplied limits for DB queries; always cast to integer and enforce a maximum ceiling (e.g., 100 records) to prevent memory exhaustion. 2. Upload Constraints: Pass a configuration array to Upload::process() explicitly defining 'max_size' in bytes. This prevents attackers from filling the disk or triggering a crash during file processing. Additionally, ensure PHP's 'post_max_size' and 'upload_max_filesize' in php.ini are aligned with these application-level limits.
public function action_process_data() { // SECURE: Enforce hard limits on pagination $limit = (int) Input::get('limit', 10); $limit = ($limit > 100 || $limit < 1) ? 100 : $limit; $data = Model_Post::find('all', array('limit' => $limit));// SECURE: Configure Upload class with strict max_size $config = array( 'path' => DOCROOT.'uploads', 'max_size' => 2 * 1024 * 1024, // 2MB Hard Limit 'ext_whitelist' => array('pdf', 'zip'), 'auto_rename' => true ); Upload::process($config); if (Upload::is_valid()) { Upload::save(); }
}
Your FuelPHP API
might be exposed to Unrestricted Resource Consumption
74% of FuelPHP apps fail this check. Hackers use automated scanners to find this specific flaw. Check your codebase before they do.
Free Tier • No Credit Card • Instant Report
Verified by Ghost Labs Security Team
This content is continuously validated by our automated security engine and reviewed by our research team. Ghost Labs analyzes over 500+ vulnerability patterns across 40+ frameworks to provide up-to-date remediation strategies.