Skip to main content

LaraDashboard CVE-2026-120488

| EUVDEUVD-2026-115223 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-11-02 VulnCheck GHSA-5g7w-8vm6-6hg2
5.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as low-priv author (post.create/edit)
  2. Delivery
    Store script/event-handler in LaraBuilder design_json block
  3. Exploit
    Admin or Superadmin opens builder, preview, or page
  4. Execution
    Payload executes in privileged session
  5. Impact
    Steal cookies/CSRF token, perform admin actions

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

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

Exploitation Conditions

Exploitation requires an authenticated account holding the post.create or post.edit permission (per the description and PR:L), which in LaraDashboard includes authors, editors, and membership-module members. The attacker stores script or event-handler markup in a LaraBuilder design_json block (text-editor, HTML, text, or heading type), which v1.4.8 and earlier render raw via {!! ... !!} in the builder preview, admin post view, email-template preview, and rendered public page. Execution additionally requires a victim with higher privilege (administrator or Superadmin) to view that content (UI:P), so it is not a fully automatable unauthenticated attack. Limiting factors: a valid low-privilege authenticated account is needed, the content-authoring feature must be in use, and a privileged user must open the affected view; these apply to default configurations of LaraDashboard rather than a special non-default mode.

Impact

This is a genuine but moderate-priority issue, not a drop-everything emergency, and the signals are internally consistent on that point. The input CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N, 5.1 medium) models a stored XSS that requires an authenticated low-privilege account (PR:L) plus a privileged victim to view the content (UI:P), with impact confined to the subsequent system (the admin's browser session: SC:L/SI:L) rather than the vulnerable application itself. The vuln.today decision label is 'this_month', which matches a medium-severity authenticated flaw. There is no CISA KEV entry and no EPSS score in the provided data, so there is no evidence of active or widespread exploitation; note that absence of EPSS/KEV is not itself a risk signal. A detailed PoC is published inside the GHSA advisory. Two signals conflict and should be reconciled before relying on severity: the vendor GHSA advisory rates the same flaw far higher (CVSS 3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N) on the theory that the admin-session XSS chains to full admin/Superadmin takeover, whereas the input 4.0 vector assigns no confidentiality/integrity impact to the vulnerable system and only low subsequent impact - verify which impact model your program uses, because the realistic worst case (session/CSRF theft leading to admin takeover, as the advisory describes) sits closer to the vendor's rating than to 5.1. Net: real priority for any LaraDashboard operator that grants post.create/post.edit to semi-trusted authors, but gated behind authentication and victim interaction.

Exploit ScenarioDerived

A low-privilege author or editor account (holding post.create or post.edit) saves a LaraBuilder text-editor, HTML, text, or heading block whose content contains script or event-handler markup such as <img src=x onerror=...>. When an administrator or Superadmin later opens the builder, the preview, or the rendered page, the stored payload executes in their authenticated session, enabling session/CSRF-token theft and privileged actions. A public PoC reference (a bash reproduction script) is included in the GHSA-w878-x2w9-3r6f advisory; it is not verified here as working exploit code.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available

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

Alert me

AnalysisAIv1 – Nov 02, 2026

Stored cross-site scripting in LaraDashboard 1.4.8 and earlier lets any authenticated account holding the post.create or post.edit permission persist script or event-handler markup inside LaraBuilder design_json blocks (text-editor, HTML, text or heading), which the application then renders unescaped in the builder preview, the admin post view, email-template previews and published pages. Because the payload executes in the browser of a higher-privileged viewer - an administrator or Superadmin opening the content - a low-privilege author can chain the execution with the account's own CSRF-exposed actions toward privilege escalation; exploitation requires a valid low-privilege account and a privileged user action (PR:L/UI:P per the assessed CVSS:3.1 vector AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N), so it is not an unauthenticated or fully automatable attack and is rated moderate priority rather than an emergency. A public proof-of-concept reproduction script is included in the vendor GHSA advisory; it has not been independently verified as working exploit code, and no active exploitation (CISA KEV) has been confirmed. Vendor-released patch: 1.4.9.

RemediationAI

Upgrade to LaraDashboard 1.4.9, the vendor-released fixed version (release https://github.com/laradashboard/laradashboard/releases/tag/v1.4.9, patch commit 5955d725683b1e63af8c38a149211d6151465aed); the release sanitizes LaraBuilder content on save and again on load, so it both blocks new payloads from the builder, REST API, MCP tools and AI actions and neutralizes rows already stored in the database - updating is the complete fix per the vendor. Because payloads are only cleansed on read after the upgrade, no manual database cleanup of design_json is required, but re-reviewing existing posts and email templates after patching is still worthwhile. If the upgrade cannot be applied immediately, the practical compensating control is to restrict the post.create and post.edit permissions to staff who already hold administrative trust (the membership module in particular grants these to lower-trust members) and to disable the custom HTML block and email-template preview while the exposed render paths remain unpatched - noting that this reduces new injection opportunities but leaves already-stored payloads live and does not fix the underlying missing output encoding. The same 1.4.9 release also requires email_template.edit for the MCP send-email tool and hardens social-login email verification, so those advisories (GHSA-rf5h-55h2-jmf8, GHSA-9gg9-jh9p-fw37, GHSA-gjfv-h634-pxpv) are closed by the same upgrade.

Affected VersionsENISA

laradashboard 0 <1.4.9

Affected Packages

euvd laradashboard fix: 1.4.9

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

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

Technical ContextAI · show details

LaraDashboard is a Laravel/PHP admin dashboard whose LaraBuilder page builder persists block layouts as a design_json column; in 1.4.8 and earlier both Post and EmailTemplate declare that column with a plain 'array' cast, so arbitrary block attributes survive storage. Individual block renderers (Modules/content-builder/blocks/text-editor/render.php lines 99-104 and Modules/content-builder/blocks/html/render.php line 47, the same code path used by the email block) concatenate that stored content into HTML strings without sanitization, and Blade templates echo the result with the unescaped {!! ... !!} syntax - Post::renderContent() around lines 397-415 and show.blade.php:11. This is the classic CWE-79 stored variant: the trust boundary is between a low-privileged content author and the privileged session that renders their content, which is why the scope is changed (S:C) while direct confidentiality/integrity/availability impact on the vulnerable component itself is limited. The 1.4.9 fix introduces an App\Casts\SanitizedDesignJson cast that runs App\Support\Security\RichHtmlSanitizer::sanitizeDesign() on both read and write, plus sanitization in App\Services\Builder\BlockRenderer; sanitizing on write closes every entry point (builder, REST API, MCP tools, AI actions), while sanitizing on read neutralizes rows stored before the fix and prevents the React editor from injecting them via innerHTML/dangerouslySetInnerHTML. The same release also strips script, event handlers, Alpine/Livewire directives and javascript: URLs across all block types, escapes colors/sizes/gaps/CSS reaching style attributes, and tightens MCP email permissions. The trigger for execution is a privileged user opening the affected builder, preview or page view; the underlying resource-injection path is confirmed by the vendor advisory and the published commit diff.

Know when Laradashboard 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 (VulnCheck) PRIMARY 5.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
vuln.today AI 5.4 MEDIUM

Authenticated low-priv author stores the payload (PR:L); a privileged victim must view it (UI:R); execution in the victim's browser crosses a trust boundary (S:C) with limited confidentiality/integrity impact.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

DescriptionCVE.org

LaraDashboard before 1.4.9 contains a stored cross-site scripting vulnerability that allows authenticated users with post.create or post.edit permission to inject scripts via unsanitized LaraBuilder design_json block content. Attackers can save text-editor, HTML, text or heading blocks containing script or event-handler markup that executes in administrator or Superadmin sessions viewing the builder, preview or page.

Threat Intelligence Overview

Prevalence
Low
niche open-source Laravel admin starter kit, limited enterprise footprint
Data Quality
3 sources
Confidence: Low

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 MEDIUM
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
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-2026-105126 HIGH POC
8.6 Oct 03

Improper privilege management in LaraDashboard before 1.4.8 lets an authenticated Admin-tier user who holds the role.edi

CVE-2026-86184 CRITICAL
9.3 Sep 05

Authentication bypass in Lara Dashboard before 1.3.0 lets unauthenticated attackers log in as any registered user by req

CVE-2026-120487 HIGH
8.6 Nov 02

LaraDashboard through 1.4.2 lets any administrator holding the ordinary settings.edit permission - which the default Adm

CVE-2026-105129 HIGH
7.1 Oct 03

Information disclosure in LaraDashboard before 1.4.8 allows an authenticated user who holds only the low-privilege setti

CVE-2026-87821 HIGH
7.1 Sep 09

Server-side request forgery in Lara Dashboard 0.9.2-1.3.1 allows any authenticated content editor to proxy arbitrary HTT

CVE-2026-105127 MEDIUM
6.9 Oct 03

Unauthenticated attackers can exhaust LaraDashboard's paid email-verification quota through the public forgot-password a

CVE-2026-105125 MEDIUM
6.3 Oct 03

Path traversal in LaraDashboard before 1.4.8 lets unauthenticated remote attackers read arbitrary JSON files from the ap

CVE-2026-105130 MEDIUM
6.3 Oct 03

Race condition in LaraDashboard 1.4.0 through 1.4.7 allows unauthenticated remote attackers to bypass the per-IP daily r

CVE-2026-105128 MEDIUM
5.3 Oct 03

Open redirect in LaraDashboard before 1.4.8 allows remote attackers to steer an authenticated user who holds email-templ

CVE-2026-120450 MEDIUM
5.3 Nov 02

Improper authorization in LaraDashboard 1.4.0 through 1.4.8 lets an authenticated user holding only the read-only email_

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