Skip to content
Security advisoryCVE-2021-21263

Query Binding Exploitation

High7.2Published Modified Original advisory

As published by the sources

Affected packages

  • illuminate/database
    Affected>=7.0.0,<7.30.3 || >=8.0.0,<8.22.1 || >=6.0.0,<6.20.12
    Fixed in6.20.127.30.38.22.1
  • Affected>=8.0.0,<8.22.1 || >=6.0.0,<6.20.11 || >=7.0.0,<7.30.2
    Fixed in6.20.117.30.28.22.1

Derived from the fixed versions above

What to do

  1. Upgrade illuminate/database to the fixed version in your release line: 6.20.12, 7.30.3, 8.22.1.

    composer update illuminate/database --with-dependencies
  2. Upgrade laravel/framework to the fixed version in your release line: 6.20.11, 7.30.2, 8.22.1.

    composer update laravel/framework --with-dependencies

To see which version you have installed, run composer show vendor/package. Running composer audit lists the known advisories that match your installed versions.

Quoted from the original advisory

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 ([email protected]).

References

References

laravel.now is an independent community project. It is not affiliated with, endorsed by, sponsored by, or in any way officially connected to Laravel, Laravel LLC, Taylor Otwell, or the Laravel framework maintainers. Laravel is a trademark of Taylor Otwell. All other trademarks belong to their respective owners.

This site is operated by the makers of Lockhound. Links to Lockhound are promotional.