Unexpected database bindings
Published 2 Feb 2021 · Updated 2 Dec 2024
Affected packages
- Affected
- <6.20.14
- Fixed in
- 6.20.14
composer require laravel/framework:^6.20.14- Affected
- >=7.0.0 <7.30.4
- Fixed in
- 7.30.4
composer require laravel/framework:^7.30.4- Affected
- >=8.0.0 <8.24.0
- Fixed in
- 8.24.0
composer require laravel/framework:^8.24.0- Affected
- <6.20.14
- Fixed in
- 6.20.14
composer require illuminate/database:^6.20.14- Affected
- >=7.0.0 <7.30.4
- Fixed in
- 7.30.4
composer require illuminate/database:^7.30.4- Affected
- >=8.0.0 <8.24.0
- Fixed in
- 8.24.0
composer require illuminate/database:^8.24.0Details
This is a follow-up to the previous security advisory (GHSA-3p32-j457-pg5x) which addresses a few additional edge cases.
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.
Is GHSA-x7p5-p2c9-phvg in any of your client repos?
Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected laravel/framework, and gives you the command that fixes it.
References
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.