laravel/framework security advisory
CVE-2026-102279: Laravel: XSS in Debug Page Information
CVE-2026-102279 is a low-severity XSS vulnerability in the PHP package laravel/framework (CVSS 3.1), published 28 September 2026. It is fixed in 12.69.0 and 13.30.0, one per release line; earlier versions on each line are affected. It can be exploited without an account.
low 3.1 published 2026-09-28 · updated 2026-09-30
- Affected versions
- < 12.69.0
>= 13.0.0, < 13.30.0 - Fixed in
- 12.69.0, 13.30.0
- Newest release
- 13.40.0
- Severity
- Low · CVSS 3.1
- Type
- Cross-site scripting (XSS)
CWE-80 - Exploited in the wild
- Not on the CISA KEV list
checked 2026-11-04
Is your laravel/framework version affected?
Who can exploit CVE-2026-102279
- Access: No account. Anyone who can send a request to an app that uses the affected code.
- Interaction: A user also has to do something, such as open a link or a page the attacker prepared.
- Conditions: It only works under specific conditions the attacker does not fully control (CVSS rates the attack as high complexity).
CVSS vector (scored by GitHub): CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N
How to fix CVE-2026-102279 in laravel/framework
- Find the installed version:
composer show laravel/framework. If you never required it yourself,composer why laravel/frameworkshows which package pulls it in. - Update it:
composer update laravel/framework --with-all-dependencies. You need the fixed version for your release line (12.69.0 and 13.30.0). - If Composer will not go that high, your composer.json constraint is holding it back. Widen it (for example
"laravel/framework": "^13.30.0"if you can take that version), or upgrade the package that requires it. - Run
composer audit. It reads the same advisory data and should no longer list CVE-2026-102279. - Commit composer.lock and deploy it. On the server, run
composer install --no-devfrom the lock file, notcomposer update.
If you cannot upgrade yet
- Escape output in your own templates and add a Content-Security-Policy that blocks inline scripts.
- Limit who can save the content the advisory names (for example rich text, SVG or form fields).
- If your app does not use the affected feature, note that in your audit, but still plan the upgrade.
The CVE-2026-102279 advisory
Laravel is a web application framework. Prior to 12.69.0 and 13.30.0, Laravel exception debug pages with APP_DEBUG=true pass attacker-controlled input to a Tippy.js tooltip configured with allowHTML true, enabling DOM-based cross-site scripting when a user hovers over the tooltip. This issue is fixed in versions 12.69.0 and 13.30.0.
References
- GitHub advisory GHSA-jh5r-qr3c-85q8 github.com
- Fix commit b495ca2 github.com
- Pull request #61381 github.com
- Release v12.69.0 github.com
- Release v13.30.0 github.com
Other laravel/framework advisories
- critical CVE-2026-114509: Laravel TokenGuard authentication bypass through non-string API credentials 2026-10-23
- medium CVE-2026-114508: Laravel relationship inclusion can trigger unauthorized data destruction 2026-10-23
- medium Laravel Framework: Temporary Signed URL Path Confusion 2026-06-17
- high Laravel Framework: CRLF injection in default email rule 2026-06-17
- CVE-2026-48019: Laravel CRLF injection in default email rule 2026-05-19
- medium CVE-2025-27515: Laravel has a File Validation Bypass 2025-03-05
Related
Need help patching or upgrading? Laskyr does PHP and Laravel security fixes and upgrades. Tell us what you run and we reply with a plan and a price.
Ask about a fixWhere this data comes from
- Affected and fixed versions: the Packagist security advisories API (GitHub Advisory Database and FriendsOfPHP), the same data
composer audituses. Synced 2026-11-03. - Description, score, weakness and references: NIST National Vulnerability Database (NVD), checked 2026-11-04. This product uses data from the NVD API but is not endorsed or certified by the NVD.
- Exploited-in-the-wild status: the CISA Known Exploited Vulnerabilities catalog, checked 2026-11-04.
- Compiled by Daniel Lasek at Laskyr from the sources above. The summary, “who can exploit it”, “how to fix it” and hardening sections are our plain-English reading of the record and are generated from it. The quoted description is the record's own text. Spot an error? Tell us.