Skip to main content

Laravel Framework EUVDEUVD-2026-88508

| CVE-2026-102279 LOW
Basic XSS (CWE-80)
2026-09-28 GitHub_M GHSA-jh5r-qr3c-85q8
3.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft input that lands in exception/source
  2. Delivery
    Input rendered into debug-page tooltip
  3. Exploit
    Victim hovers over Tippy.js tooltip
  4. Execution
    allowHTML renders payload as HTML
  5. Impact
    JavaScript executes in victim browser

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization HTML tag escaping
MITRE ATT&CK

1 technique across 1 tactic: Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires the target Laravel application to be running with APP_DEBUG=true - the exception debug renderer is not served in Laravel's recommended production configuration (APP_DEBUG=false), so this is the primary limiting factor. The attacker must additionally get attacker-controlled data into the rendered exception source/context shown on the debug page, and a victim (typically a developer or anyone with access to the debug page) must hover over the affected Tippy.js tooltip (UI:R) to trigger execution. Exploitation is unauthenticated at the network layer (PR:N) but is effectively self-limited to environments left in debug mode.

Impact

This is a genuinely low-priority issue despite affecting a ubiquitous framework. The CVSS 3.1 base score is 3.1 (Low) with vector AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N - the high attack complexity (AC:H) and required user interaction (UI:R) reflect that exploitation depends on a non-default deployment state and a victim action. There is no EPSS score, no CISA KEV listing, and no public exploit code provided, so exploitation status is: no public exploit identified at time of analysis. Crucially, the vulnerable code path (the exception debug renderer) is only reachable when APP_DEBUG=true, which is a development/misconfiguration state, not Laravel's recommended production setting. So while the product footprint is huge, the real-world exposed surface is narrow. No conflicting signals: the vendor CVSS, description, and source diff all agree this is a DOM-XSS on the debug page. One nuance to verify - the vendor scored confidentiality as C:N, but DOM-based XSS executing in the victim's browser can typically read session data/tokens, which would justify C:L; this is a defensible upward adjustment rather than a data conflict.

Exploit ScenarioDerived

An attacker crafts input (e.g., a value that ends up in a stack trace, source frame, or exception context) that gets rendered on a Laravel exception debug page of a target running with APP_DEBUG=true. Because the source is passed to a Tippy.js tooltip configured with allowHTML:true, the attacker's HTML/JavaScript executes in the browser of a developer or user who hovers over the tooltip. No public proof-of-concept was provided, and the attack requires both debug mode enabled and a victim hover action.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 28, 2026

DOM-based cross-site scripting in Laravel's built-in exception debug renderer (Laravel framework before 12.69.0 and 13.30.0) lets attacker-influenced data be rendered as HTML inside a Tippy.js tooltip on the debug page, so script executes in the browser of anyone who views that page and hovers the affected tooltip. The issue is reachable unauthenticated over the network (CVSS vector PR:N) but requires user interaction (UI:R) and only manifests when the application is running with APP_DEBUG=true - a configuration Laravel does not recommend for production - which is the principal limiting factor and keeps the overall severity at Low (CVSS 3.1). No public exploit code has been identified at time of analysis, and vendor-released patches exist in 12.69.0 and 13.30.0.

RemediationAI

Upgrade to the vendor-released patched versions: Laravel framework 12.69.0 or 13.30.0 (see the advisory at https://github.com/laravel/framework/security/advisories/GHSA-jh5r-qr3c-85q8, the fix commit b495ca2ec4e15a977e8700328bf13e8a79f29d12, and release tags v12.69.0 and v13.30.0). The most effective compensating control is to run with APP_DEBUG=false in every environment reachable by untrusted users; the trade-off is loss of the detailed exception pages developers rely on, so keep debug mode confined to local or otherwise isolated environments. Where debug pages must exist on a shared network, restrict access to the exception route at the reverse proxy or firewall (allow-list developer IPs only), since the attack requires the victim to load that page and hover the affected tooltip; this reduces exposure without changing application code but leaves the underlying rendering flaw in place. If an immediate upgrade is not possible, locally patch or override the published exception renderer so the source value is passed as text rather than through an HTML-enabled Tippy.js tooltip - equivalent to the upstream change from data-tippy-content to data-tippy-html-content with the rebuilt scripts.js - noting that locally maintained overrides must be re-applied on subsequent framework updates. Preventing attacker-controlled strings from reaching the exception source/context display further reduces the chance of a working payload being rendered. No public exploit code was identified at time of analysis, so these steps are precautionary rather than incident-driven.

Affected VersionsENISA

framework 13.0.0, < 13.30.0
framework < 12.69.0

Affected Packages

composer laravel/framework fix: 12.69.0, 13.30.0
euvd framework fix: 12.69.0, 13.30.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in composer, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw lives in Laravel's exception rendering subsystem, specifically the Blade component that formats an exception frame's source code (src/Illuminate/Foundation/resources/exceptions/renderer/components/formatted-source.blade.php) and its compiled front-end bundle (dist/scripts.js). Source excerpts were passed into a Tippy.js tooltip through the data-tippy-content attribute while the tooltip was configured with allowHTML enabled, meaning the framework's own tooltip markup treated the value as HTML rather than text. When attacker-controllable data (for example values derived from a crafted request that surface in the rendered exception source or frame context) reaches that attribute, the browser parses it as markup and any script-bearing element it contains executes in the debug page's DOM - a classic DOM-based XSS categorized as CWE-80 (improper neutralization of script-related HTML tags, i.e. basic XSS). The upstream fix changes the attribute to data-tippy-html-content and rebuilds the JavaScript bundle so the content no longer flows through an HTML-enabled tooltip path. The affected product is identified by the CPE cpe:2.3:a:laravel:framework:*:*:*:*:*:*:*:*, reflecting that all framework releases prior to the fixed versions carry the vulnerable renderer code; exposure is gated on APP_DEBUG=true, since the debug exception page is not served in the framework's recommended production configuration.

Know when Laravel gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 3.1 LOW
AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N
vuln.today AI 4.2 MEDIUM

AC:H and UI:R because it needs non-default APP_DEBUG=true plus a victim hover; PR:N as no auth is required; I raise C to L since DOM XSS can read session/token data in the victim browser.

3.1 AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None

Lifecycle Timeline

2
Patch available
Sep 28, 2026 - 22:02 EUVD
CVE Published
Sep 28, 2026 - 20:59 cve.org
LOW 3.1

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
High
Laravel is one of the most widely deployed PHP web frameworks
Threat Intel
1
1 sources
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +16
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

CVE-2017-16894 HIGH POC
7.5 Nov 20

In Laravel framework through 5.5.21, remote attackers can obtain sensitive information (such as externally usable passwo

CVE-2025-54068 CRITICAL POC
9.8 Jul 17

Laravel Livewire v3 through v3.6.3 contains a critical remote code execution vulnerability (CVE-2025-54068, CVSS 9.8) th

CVE-2025-53833 CRITICAL POC
10.0 Jul 14

LaRecipe versions prior to 2.8.1 contain a Server-Side Template Injection (SSTI) vulnerability that can lead to Remote C

CVE-2026-28289 CRITICAL POC
10.0 Mar 03

File upload bypass in FreeScout 1.8.206 — patch bypass for CVE-2026-27636. PoC and patch available. CVSS 10.0.

CVE-2026-27636 HIGH POC
8.8 Feb 25

Remote code execution in FreeScout prior to version 1.8.206 allows authenticated users to upload `.htaccess` files that

CVE-2018-15133 HIGH POC
8.1 Aug 09

In Laravel Framework through 5.5.40 and 5.6.x through 5.6.29, remote code execution might occur as a result of an unseri

CVE-2025-70841 CRITICAL POC
10.0 Feb 03

Dokans SaaS e-commerce platform v3.9.2 has a CVSS 10.0 authentication bypass allowing unauthenticated attackers to obtai

CVE-2026-27637 CRITICAL POC
9.8 Feb 25

Predictable password reset tokens in FreeScout help desk before 1.8.206. Weak random number generation allows attackers

CVE-2026-21448 CRITICAL POC
9.8 Jan 02

Bagisto eCommerce platform before 2.3.10 is vulnerable to server-side template injection (SSTI) through customer address

CVE-2026-21446 CRITICAL POC
9.8 Jan 02

Bagisto eCommerce platform (2.3 branch before 2.3.10) leaves installation API routes active after setup, allowing unauth

CVE-2022-2870 CRITICAL POC
9.8 Aug 17

A vulnerability was found in laravel 5.1 and classified as problematic. Rated critical severity (CVSS 9.8), this vulnera

CVE-2026-114509 CRITICAL POC
9.2 Oct 21

Laravel TokenGuard authentication bypass is a genuine high-priority issue, not an inflated CVSS score: unauthenticated a

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy