Laravel Framework XSS in Blade templating engine
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:
@section('content')
<input value="{{ $value }}">
@show
resources/views/child.blade.php:
@extends('parent')
@section('content')
<input value="{{ $value }}">
@endsection
And a route like the following:
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.
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Composer package | illuminate/view | < 6.20.42, >= 7.0.0, < 7.30.6, >= 8.0.0, < 8.75.0 | 6.20.42, 7.30.6, 8.75.0 |
| Composer package | laravel/framework | < 6.20.42, >= 7.0.0, < 7.30.6, >= 8.0.0, < 8.75.0 | 6.20.42, 7.30.6, 8.75.0 |
References
- https://github.com/laravel/framework/security/advisories/GHSA-66hf-2p6w-jqfw
- https://nvd.nist.gov/vuln/detail/CVE-2021-43808
- https://github.com/laravel/framework/pull/39906
- https://github.com/laravel/framework/pull/39908
- https://github.com/laravel/framework/pull/39909
- https://github.com/laravel/framework/commit/b8174169b1807f36de1837751599e2828ceddb9b
- https://github.com/FriendsOfPHP/security-advisories/blob/master/illuminate/view/CVE-2021-43808.yaml
- https://github.com/FriendsOfPHP/security-advisories/blob/master/laravel/framework/CVE-2021-43808.yaml
- https://github.com/laravel/framework
- https://github.com/laravel/framework/releases/tag/v6.20.42
- https://github.com/laravel/framework/releases/tag/v7.30.6
- https://github.com/laravel/framework/releases/tag/v8.75.0
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N- Weakness (CWE)
CWE-327, CWE-79- Platform
- Composer
- Package
illuminate/view, laravel/framework- Disclosed
- 08.12.2021
- Updated
- 11.10.2026 10:22
Sources and licenses
OSV / GitHub Advisory Database - GHSA-66hf-2p6w-jqfw - CC BY 4.0
Vulnerability history: illuminate/view
All published vulnerabilities of this package (Composer package), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 2
- First → latest
- 12.2021 05.2024
- Without a fix
- 0
- Exploited in attacks
- 0
Severity breakdown
- Medium 2
Disclosures per year
- 2021: 1
- 2022: 0
- 2023: 0
- 2024: 1
- 2025: 0
- 2026: 0
-
Laravel Framework XSS in Blade templating engine this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.