HighGHSA-3p32-j457-pg5xBIT-laravel-2021-21263CVE-2021-21263

Query Binding Exploitation

Published 19 Jan 2021 · Updated 10 Sept 2026

Affected packages

Affected
>=8.0.0 <8.22.1
Fixed in
8.22.1
Update to the fixed version for your release line, for example:composer require laravel/framework:^8.22.1
Affected
>=7.0.0 <7.30.3
Fixed in
7.30.3
Update to the fixed version for your release line, for example:composer require illuminate/database:^7.30.3
Affected
>=8.0.0 <8.22.1
Fixed in
8.22.1
Update to the fixed version for your release line, for example:composer require illuminate/database:^8.22.1
Affected
>=6.0.0 <6.20.12
Fixed in
6.20.12
Update to the fixed version for your release line, for example:composer require illuminate/database:^6.20.12
Affected
>=6.0.0 <6.20.11
Fixed in
6.20.11
Update to the fixed version for your release line, for example:composer require laravel/framework:^6.20.11
Affected
>=7.0.0 <7.30.2
Fixed in
7.30.2
Update to the fixed version for your release line, for example:composer require laravel/framework:^7.30.2

Details

Description

Laravel versions <6.20.12, <7.30.3 & <8.22.1 contain a query binding exploitation.

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.

This vulnerability was discovered by Tim Groenevelt (tim.g@foodbyus.com).

References

  • https://github.com/laravel/framework/pull/35865

Is GHSA-3p32-j457-pg5x 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.