Query Binding Exploitation in Laravel
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.20.11, 7.30.2, 8.22.1, 7.30.3, 6.20.12
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
Laravel is a web application framework. Versions of Laravel before 6.20.11, 7.30.2 and 8.22.1 contain a query binding exploitation. This same exploit applies to the illuminate/database package which is used by Laravel. If a request is crafted where a field that is normally a non-array value is an array, and that input is not validated or cast to its expected type before being passed to the query builder, an unexpected number of query bindings can be added to the query. In some situations, this will simply lead to no results being returned by the query builder; however, it is possible certain queries could be affected in a way that causes the query to return unexpected results.
Timeline
- CVE published
- Record last updated
Affected versions
- laravel framework
From 6.0.0 · fixed in 6.20.11; From 7.0.0 · fixed in 7.30.2; From 8.0.0 · fixed in 8.22.1
- laravel/frameworkPackagist
From 8.0.0 · fixed in 8.22.1
- illuminate/databasePackagist
From 7.0.0 · fixed in 7.30.3
- illuminate/databasePackagist
From 8.0.0 · fixed in 8.22.1
- illuminate/databasePackagist
From 6.0.0 · fixed in 6.20.12
- laravel/frameworkPackagist
From 6.0.0 · fixed in 6.20.11
- laravel/frameworkPackagist
From 7.0.0 · fixed in 7.30.2