CVE-2020-24941
SQL Server LIMIT / OFFSET SQL Injection in laravel/framework and illuminate/database
An issue was discovered in Laravel before 6.18.35 and 7.x before 7.24.0. The $guarded property is mishandled in some situations involving requests with JSON column nesting expressions.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
7.5
An issue was discovered in Laravel before 6.18.35 and 7.x before 7.24.0. The $guarded property is mishandled in some situations involving requests with JSON column nesting expressions.
- Record
CVE-2020-24941- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - CVSS 2.0
- 4.3 Medium
AV:N/AC:M/Au:N/C:N/I:P/A:N - Weakness
- CWE-863
- Updated
- 2026-11-02
CVE List No score
An issue was discovered in Laravel before 6.18.35 and 7.x before 7.24.0. The $guarded property is mishandled in some situations involving requests with JSON column nesting expressions.
- Record
CVE-2020-24941- Updated
- 2026-11-02
EUVDEUVD-2021-1211 No score
An issue was discovered in Laravel before 6.18.35 and 7.x before 7.24.0. The $guarded property is mishandled in some situations involving requests with JSON column nesting expressions.
- Record
EUVD-2021-1211- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-w68r-5p45-5rqp
7.5
Improper Input Validation in Laravel
An issue was discovered in Laravel before 6.18.35 and 7.x before 7.24.0. The $guarded property is mishandled in some situations involving requests with JSON column nesting expressions.
- Record
GHSA-w68r-5p45-5rqp- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-863
- Updated
- 2026-11-02
GitHub AdvisoriesGHSA-4mg9-vhxq-vm7j No score
SQL Server LIMIT / OFFSET SQL Injection in laravel/framework and illuminate/database
Impact
Those using SQL Server with Laravel and allowing user input to be passed directly to the limit and offset functions are vulnerable to SQL injection. Other database drivers such as MySQL and Postgres are not affected by this vulnerability.
Patches
This problem has been patched on Laravel versions 6.20.26, 7.30.5, and 8.40.0.
Workarounds
You may workaround this vulnerability by ensuring that only integers are passed to the limit and offset functions, as well as the skip and take functions.
- Record
GHSA-4mg9-vhxq-vm7j- Weakness
- CWE-89
- Updated
- 2026-11-02
GitHub AdvisoriesGHSA-7852-w36x-6mf6 No score
Laravel Encrypter Component Potential Decryption Failure Leading to Unintended Behavior
The Laravel Encrypter component is susceptible to a vulnerability that may result in decryption failure, leading to an unexpected return of false. Exploiting this issue requires the attacker to manipulate the encrypted payload before decryption. When combined with weak type comparisons in the application's code, such as the example below:
<?php
$decyptedValue = decrypt($secret);
if ($decryptedValue == '') {
// Code is run even though decrypted value is false...
}
- Record
GHSA-7852-w36x-6mf6- Weakness
- CWE-1240
- Updated
- 2026-11-02
Show 12 moreShow less
OSV
7.5
An issue was discovered in Laravel before 6.18.35 and 7.x before 7.24.0. The $guarded property is mishandled in some situations involving requests with JSON column nesting expressions.
- Record
CVE-2020-24941- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVGHSA-w68r-5p45-5rqp
7.5
Improper Input Validation in Laravel
An issue was discovered in Laravel before 6.18.35 and 7.x before 7.24.0. The $guarded property is mishandled in some situations involving requests with JSON column nesting expressions.
- Record
GHSA-w68r-5p45-5rqp- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-863
- Updated
- 2026-11-02
OSVBIT-laravel-2020-24941 No score
An issue was discovered in Laravel before 6.18.35 and 7.x before 7.24.0. The $guarded property is mishandled in some situations involving requests with JSON column nesting expressions.
- Record
BIT-laravel-2020-24941- Updated
- 2026-11-02
OSVCLSA-2025-1765932544 No score
TuxCare security update for laravel/framework (5 CVEs)
TuxCare rebuilt laravel/framework to address 5 CVEs. Fixed in 5.8.38-p1+tuxcare.
- Record
CLSA-2025-1765932544- Updated
- 2026-11-02
OSVCLSA-2026-1772239984 No score
TuxCare security update for illuminate/database (1 CVE)
TuxCare rebuilt illuminate/database to address 1 CVE. Fixed in 5.4.36-p1+tuxcare.
- Record
CLSA-2026-1772239984- Updated
- 2026-11-02
OSVCLSA-2026-1773017339 No score
TuxCare security update for laravel/framework (10 CVEs)
TuxCare rebuilt laravel/framework to address 10 CVEs. Fixed in 5.4.36-p2+tuxcare.
- Record
CLSA-2026-1773017339- Updated
- 2026-11-02
OSVCLSA-2026-1773103741 No score
TuxCare security update for laravel/framework (8 CVEs)
TuxCare rebuilt laravel/framework to address 8 CVEs. Fixed in 5.5.50-p1+tuxcare.
- Record
CLSA-2026-1773103741- Updated
- 2026-11-02
OSVCLSA-2026-1773103742 No score
TuxCare security update for laravel/framework (9 CVEs)
TuxCare rebuilt laravel/framework to address 9 CVEs. Fixed in 5.6.40-p1+tuxcare.
- Record
CLSA-2026-1773103742- Updated
- 2026-11-02
OSVCLSA-2026-1773103743 No score
TuxCare security update for laravel/framework (9 CVEs)
TuxCare rebuilt laravel/framework to address 9 CVEs. Fixed in 5.7.29-p1+tuxcare.
- Record
CLSA-2026-1773103743- Updated
- 2026-11-02
OSVCLSA-2026-1773362940 No score
TuxCare security update for laravel/framework (1 CVE)
TuxCare rebuilt laravel/framework to address 1 CVE. Fixed in 5.4.36-p3+tuxcare.
- Record
CLSA-2026-1773362940- Updated
- 2026-11-02
OSVGHSA-4mg9-vhxq-vm7j No score
SQL Server LIMIT / OFFSET SQL Injection in laravel/framework and illuminate/database
Impact
Those using SQL Server with Laravel and allowing user input to be passed directly to the limit and offset functions are vulnerable to SQL injection. Other database drivers such as MySQL and Postgres are not affected by this vulnerability.
Patches
This problem has been patched on Laravel versions 6.20.26, 7.30.5, and 8.40.0.
Workarounds
You may workaround this vulnerability by ensuring that only integers are passed to the limit and offset functions, as well as the skip and take functions.
- Record
GHSA-4mg9-vhxq-vm7j- Weakness
- CWE-89
- Updated
- 2026-11-02
OSVGHSA-7852-w36x-6mf6 No score
Laravel Encrypter Component Potential Decryption Failure Leading to Unintended Behavior
The Laravel Encrypter component is susceptible to a vulnerability that may result in decryption failure, leading to an unexpected return of false. Exploiting this issue requires the attacker to manipulate the encrypted payload before decryption. When combined with weak type comparisons in the application's code, such as the example below:
<?php
$decyptedValue = decrypt($secret);
if ($decryptedValue == '') {
// Code is run even though decrypted value is false...
}
- Record
GHSA-7852-w36x-6mf6- Weakness
- CWE-1240
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
laravel/frameworkPackagist |
8.0.0 up to 8.40.0 | 8.40.0 |
laravel/frameworkPackagist |
before 6.20.26 | 6.20.26 |
illuminate/databasePackagist |
8.0.0 up to 8.40.0 | 8.40.0 |
illuminate/databasePackagist |
before 6.20.26 | 6.20.26 |
laravel/frameworkPackagist |
before 5.5.40 | 5.5.40 |
laravel/frameworkPackagist |
5.6.0 up to 5.6.15 | 5.6.15 |
laravel/frameworkPackagist |
before 6.18.35 | 6.18.35 |
laravel/frameworkPackagist |
7.0.0 up to 7.24.0 | 7.24.0 |
laravelBitnami |
before 6.18.35, 7.0.0 up to 7.24.0 | 6.18.357.24.0 |
laravel/frameworkTuxCare:Packagist From an advisory covering 2 CVEs |
5.8.38 up to 5.8.38-p1+tuxcare | 5.8.38-p1+tuxcare |
Show 14 moreShow less
| Package | Affected | Fixed |
|---|---|---|
illuminate/databaseTuxCare:Packagist |
5.4.36 up to 5.4.36-p1+tuxcare | 5.4.36-p1+tuxcare |
laravel/frameworkTuxCare:Packagist From an advisory covering 8 CVEs |
5.4.36 up to 5.4.36-p2+tuxcare, plus listed versions 5.4.36-p1+tuxcare |
5.4.36-p2+tuxcare |
laravel/frameworkTuxCare:Packagist From an advisory covering 6 CVEs |
5.5.50 up to 5.5.50-p1+tuxcare | 5.5.50-p1+tuxcare |
laravel/frameworkTuxCare:Packagist From an advisory covering 6 CVEs |
5.6.40 up to 5.6.40-p1+tuxcare | 5.6.40-p1+tuxcare |
laravel/frameworkTuxCare:Packagist From an advisory covering 6 CVEs |
5.7.29 up to 5.7.29-p1+tuxcare | 5.7.29-p1+tuxcare |
laravel/frameworkTuxCare:Packagist |
5.4.36 up to 5.4.36-p3+tuxcare, plus listed versions 5.4.36-p1+tuxcare5.4.36-p2+tuxcare |
5.4.36-p3+tuxcare |
laravel/frameworkPackagist |
8.0.0 up to 8.40.0, plus listed versions v8.0.0v8.0.1v8.0.2v8.0.3v8.0.4 Show 45 moreShow lessv8.1.0v8.10.0v8.11.0v8.11.1v8.11.2v8.12.0v8.12.1v8.12.2v8.12.3v8.13.0v8.14.0v8.15.0v8.16.0v8.16.1v8.17.0v8.17.1v8.17.2v8.18.0v8.18.1v8.19.0v8.2.0v8.20.0v8.20.1v8.21.0v8.22.0v8.22.1v8.23.0v8.23.1v8.24.0v8.25.0v8.26.0v8.26.1v8.27.0v8.28.0v8.28.1v8.29.0v8.3.0v8.30.0v8.30.1v8.31.0v8.32.0v8.32.1v8.33.0v8.33.1v8.34.0 |
8.40.0 |
laravel/frameworkPackagist |
before 6.20.26, plus listed versions 5.0.305.2.41v4.0.0v4.0.0-BETA2v4.0.0-BETA3 Show 45 moreShow lessv4.0.0-BETA4v4.0.1v4.0.10v4.0.11v4.0.2v4.0.3v4.0.4v4.0.5v4.0.6v4.0.7v4.0.8v4.0.9v4.1.0v4.1.1v4.1.10v4.1.11v4.1.12v4.1.13v4.1.14v4.1.15v4.1.16v4.1.17v4.1.18v4.1.19v4.1.2v4.1.20v4.1.21v4.1.22v4.1.23v4.1.24v4.1.25v4.1.26v4.1.27v4.1.28v4.1.29v4.1.3v4.1.30v4.1.31v4.1.4v4.1.5v4.1.6v4.1.7v4.1.8v4.1.9v4.2.0 |
6.20.26 |
illuminate/databasePackagist |
8.0.0 up to 8.40.0, plus listed versions v8.0.0v8.0.1v8.0.2v8.0.3v8.0.4 Show 45 moreShow lessv8.1.0v8.10.0v8.11.0v8.11.1v8.11.2v8.12.0v8.12.1v8.12.2v8.12.3v8.13.0v8.14.0v8.15.0v8.16.0v8.16.1v8.17.0v8.17.2v8.18.0v8.18.1v8.19.0v8.2.0v8.20.0v8.20.1v8.21.0v8.22.0v8.22.1v8.23.1v8.24.0v8.25.0v8.26.0v8.26.1v8.27.0v8.28.0v8.28.1v8.29.0v8.3.0v8.30.0v8.30.1v8.31.0v8.32.0v8.32.1v8.33.0v8.33.1v8.34.0v8.35.0v8.35.1 |
8.40.0 |
illuminate/databasePackagist |
before 6.20.26, plus listed versions 5.7.175.7.185.7.19v1.0.0v1.1.0 Show 45 moreShow lessv1.1.1v4.0.0v4.0.0-BETA2v4.0.0-BETA3v4.0.0-BETA4v4.0.1v4.0.10v4.0.2v4.0.3v4.0.4v4.0.5v4.0.6v4.0.7v4.0.8v4.0.9v4.1.0v4.1.1v4.1.10v4.1.11v4.1.12v4.1.13v4.1.14v4.1.15v4.1.16v4.1.17v4.1.18v4.1.19v4.1.2v4.1.20v4.1.21v4.1.22v4.1.23v4.1.24v4.1.25v4.1.26v4.1.27v4.1.28v4.1.29v4.1.3v4.1.30v4.1.4v4.1.5v4.1.6v4.1.7v4.1.8 |
6.20.26 |
laravel/frameworkPackagist |
before 5.5.40, plus listed versions 5.0.305.2.41v4.0.0v4.0.0-BETA2v4.0.0-BETA3 Show 45 moreShow lessv4.0.0-BETA4v4.0.1v4.0.10v4.0.11v4.0.2v4.0.3v4.0.4v4.0.5v4.0.6v4.0.7v4.0.8v4.0.9v4.1.0v4.1.1v4.1.10v4.1.11v4.1.12v4.1.13v4.1.14v4.1.15v4.1.16v4.1.17v4.1.18v4.1.19v4.1.2v4.1.20v4.1.21v4.1.22v4.1.23v4.1.24v4.1.25v4.1.26v4.1.27v4.1.28v4.1.29v4.1.3v4.1.30v4.1.31v4.1.4v4.1.5v4.1.6v4.1.7v4.1.8v4.1.9v4.2.0 |
5.5.40 |
laravel/frameworkPackagist |
5.6.0 up to 5.6.15, plus listed versions v5.6.0v5.6.1v5.6.10v5.6.11v5.6.12 Show 10 moreShow lessv5.6.13v5.6.14v5.6.2v5.6.3v5.6.4v5.6.5v5.6.6v5.6.7v5.6.8v5.6.9 |
5.6.15 |
laravel/frameworkPackagist |
before 6.18.35, plus listed versions 5.0.305.2.41v4.0.0v4.0.0-BETA2v4.0.0-BETA3 Show 45 moreShow lessv4.0.0-BETA4v4.0.1v4.0.10v4.0.11v4.0.2v4.0.3v4.0.4v4.0.5v4.0.6v4.0.7v4.0.8v4.0.9v4.1.0v4.1.1v4.1.10v4.1.11v4.1.12v4.1.13v4.1.14v4.1.15v4.1.16v4.1.17v4.1.18v4.1.19v4.1.2v4.1.20v4.1.21v4.1.22v4.1.23v4.1.24v4.1.25v4.1.26v4.1.27v4.1.28v4.1.29v4.1.3v4.1.30v4.1.31v4.1.4v4.1.5v4.1.6v4.1.7v4.1.8v4.1.9v4.2.0 |
6.18.35 |
laravel/frameworkPackagist |
7.0.0 up to 7.24.0, plus listed versions v7.0.0v7.0.1v7.0.2v7.0.3v7.0.4 Show 45 moreShow lessv7.0.5v7.0.6v7.0.7v7.0.8v7.1.0v7.1.1v7.1.2v7.1.3v7.10.0v7.10.1v7.10.2v7.10.3v7.11.0v7.12.0v7.13.0v7.14.0v7.14.1v7.15.0v7.16.0v7.16.1v7.17.0v7.17.1v7.17.2v7.18.0v7.19.0v7.19.1v7.2.0v7.2.1v7.2.2v7.20.0v7.21.0v7.22.0v7.22.1v7.22.2v7.22.3v7.22.4v7.23.0v7.23.1v7.23.2v7.3.0v7.4.0v7.5.0v7.5.1v7.5.2v7.6.0 |
7.24.0 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2020-24941 is a high vulnerability (CVSS 7.5) in Laravel, published September 4, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.09%, the 65th percentile. Fixed in laravel/framework 8.40.0.
References
blog.laravel.com/security-release-laravel-61835-7240
github.com/laravel/framework/security/advisories/GHSA-4mg9-vhxq-vm7j
packagist.org/packages/illuminate/database
packagist.org/packages/laravel/framework
github.com/advisories/GHSA-4mg9-vhxq-vm7j
github.com/laravel/framework/commit/28e53f23a76206fb130e9a54eb95aa3f010e79c9
Show 8 moreShow less
github.com/laravel/framework/commit/886d261df0854426b4662b7ed5db6a1c575a4279
github.com/FriendsOfPHP/security-advisories/blob/master/laravel/framework/2018-03-30-1.yaml
medium.com/@taylorotwell/laravel-security-release-5-6-15-and-5-5-40-56f1257933a0
github.com/advisories/GHSA-7852-w36x-6mf6
nvd.nist.gov/vuln/detail/CVE-2020-24941
github.com/laravel/framework/commit/897d107775737a958dbd0b2f3ea37877c7526371
github.com/advisories/GHSA-w68r-5p45-5rqp
github.com/laravel/framework
Left out here: 1,492 versions. The JSON record has them.