GHSA-66hf-2p6w-jqfw
Laravel Framework XSS in Blade templating engine
Quick fix
GHSA-66hf-2p6w-jqfw — laravel/framework: upgrade to the fixed version with the command below.
composer require laravel/framework:^6.20.42Details
A security researcher has disclosed a possible XSS vulnerability in the Blade templating engine.
Given the following two Blade templates:
resources/views/parent.blade.php:
```html @section('content') <input value="{{ $value }}"> @show ```
resources/views/child.blade.php:
```html @extends('parent')
@section('content') <input value="{{ $value }}"> @endsection ```
And a route like the following:
```php Route::get('/example', function() { $value = '//localhost/###parent-placeholder-040f06fd774092478d450774f5ba30c5da78acc8## onclick=location.assign(this.value);//';
return view('child', ['value' => $value]); }); ```
The broken HTML element may be clicked and the user is taken to another location in their browser due to XSS. This is due to the user being able to guess the parent placeholder SHA-1 hash by trying common names of sections. If the parent template contains an exploitable HTML structure an XSS vulnerability can be exposed.
This vulnerability has been patched by determining the parent placeholder at runtime and using a random hash that is unique to each request.
Are you affected?
Enter the version of the package you're using.
Affected packages
0Fixed in: 6.20.42composer require laravel/framework:^6.20.427.0.0Fixed in: 7.30.6composer require laravel/framework:^7.30.68.0.0Fixed in: 8.75.0composer require laravel/framework:^8.75.00Fixed in: 6.20.42composer require illuminate/view:^6.20.427.0.0Fixed in: 7.30.6composer require illuminate/view:^7.30.68.0.0Fixed in: 8.75.0composer require illuminate/view:^8.75.0References
- https://github.com/laravel/framework/security/advisories/GHSA-66hf-2p6w-jqfw[WEB]
- https://nvd.nist.gov/vuln/detail/CVE-2021-43808[ADVISORY]
- https://github.com/laravel/framework/pull/39906[WEB]
- https://github.com/laravel/framework/pull/39908[WEB]
- https://github.com/laravel/framework/pull/39909[WEB]
- https://github.com/laravel/framework/commit/b8174169b1807f36de1837751599e2828ceddb9b[WEB]
- https://github.com/FriendsOfPHP/security-advisories/blob/master/illuminate/view/CVE-2021-43808.yaml[WEB]
- https://github.com/FriendsOfPHP/security-advisories/blob/master/laravel/framework/CVE-2021-43808.yaml[WEB]
- https://github.com/laravel/framework[PACKAGE]
- https://github.com/laravel/framework/releases/tag/v6.20.42[WEB]
- https://github.com/laravel/framework/releases/tag/v7.30.6[WEB]
- https://github.com/laravel/framework/releases/tag/v8.75.0[WEB]