Skip to main content

Rapyd Admin EUVDEUVD-2026-99023

| CVE-2026-110239 LOW
Cross-site Scripting (XSS) (CWE-79)
2026-10-13 disclosure@vulncheck.com GHSA-6gv8-c7hv-6wpw
2.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-privileged user
  2. Delivery
    Set rich-text bound property via Livewire API
  3. Exploit
    Store unsanitized JavaScript in record
  4. Execution
    Administrator opens record form
  5. Impact
    Script executes in admin browser session

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 (1) a valid authenticated account with low privileges sufficient to invoke the Livewire client API and set the bound model property of an x-rpd::rich-text component, and (2) a subsequent action by a victim administrator who opens the affected record's form, at which point the stored payload executes. It is limited to Rapyd Admin versions before the fixed release (CVE cites <9.20.0; vendor CHANGELOG cites 9.19.0) and to forms that use the x-rpd::rich-text component rendering values as raw HTML. The need for prior authentication plus administrator interaction substantially limits realistic exploitation compared to an unauthenticated remote flaw.

Impact

This is a low-priority, low-real-risk issue despite being a code-execution-style flaw. The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:L/UI:P) scores only 2.1 because exploitation requires an authenticated account (PR:L) and passive victim interaction (UI:P) - an administrator must open the affected record's form - and the direct impact on the vulnerable system is nil (VC:N/VI:N/VA:N), with only low subsequent-system confidentiality/integrity impact (SC:L/SI:L) reflecting script execution in the admin's browser session. There is no KEV listing, no EPSS score was provided, and no public exploit was identified, so exploitation status is 'no public exploit identified at time of analysis'. The source-code evidence strongly corroborates the vulnerability mechanism: the x-rpd::rich-text component echoed browser-written values raw via Blade's {!! !!} and the fix routes them through rapyd_clean_html() (HTMLPurifier). One data note: the vendor CHANGELOG labels the security release as 9.19.0 (dated 2026-09-28) while the CVE and release tag reference 9.20.0 as the fixed version - verify the exact patched build with the vendor. Overall this is a genuine stored XSS but a realistic second-order, authenticated, interaction-dependent threat rather than an urgent widespread one.

Exploit ScenarioDerived

An attacker with a low-privileged authenticated account uses the Livewire client API to set the bound model property of an x-rpd::rich-text field to a malicious payload, which is stored unsanitized. When an administrator later opens that record's form, the injected JavaScript executes in the admin's authenticated session, enabling session/account actions in the admin context. No public exploit code was identified, though a VulnCheck advisory documents the flaw.

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 – Oct 14, 2026

Stored cross-site scripting in Rapyd Admin before 9.20.0 allows any authenticated low-privilege user to persist JavaScript through a x-rpd::rich-text Livewire-bound property, which then executes in an administrator's browser session when that record's form is opened in the admin panel. Exploitation requires a valid low-privilege account plus a subsequent administrator interaction, which substantially limits real-world risk, and the vendor scores the flaw at CVSS 4.0 base 2.1 while an independent assessment rates it around CVSS 3.1 6.0 (AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N); no public exploit code or confirmed active exploitation was identified at time of analysis. A vendor-released patch exists in 9.20.0 (fix commit acd6ee85), which sanitises rich-text output through HTMLPurifier.

RemediationAI

Vendor-released patch: upgrade to Rapyd Admin 9.20.0 (release tag v9.20.0, fix commit acd6ee85f9e5ccec67199673b039c605d161406a), which routes rich-text values through rapyd_clean_html() backed by HTMLPurifier and the rapyd.html_allowed configuration allow-list; after upgrading, clear compiled Blade/Livewire caches so the escaped component is regenerated. If immediate upgrade is not possible, harden presentation of the data: replace raw {!! !!} output of rich-text/Livewire-bound values in your own views with escaped {{ }} rendering (side effect: legitimate HTML formatting in stored content will display as literal markup until sanitised), or apply rapyd_clean_html()/HTMLPurifier yourself (side effect: tags outside the allow-list are stripped or normalised, so the allow-list must be tuned to preserve intended formatting). Additionally constrain who may edit records that contain rich-text fields, since the write path requires an authenticated account, and follow the vendor's release guidance to change the password of the default admin@laravel account (or delete it) and to review any user name or rich-text value containing markup, because the same 9.20.0 release fixes related access-control and XSS issues; see https://github.com/zofe/rapyd-admin/releases/tag/v9.20.0 and https://www.vulncheck.com/advisories/rapyd-admin-before-9.20.0-stored-xss-via-rich-text-component.

Affected VersionsENISA

rapyd-admin 1.1.0 ≤1.1.8
rapyd-admin 9.0.0 <9.20.0
rapyd-admin 1.0.0
rapyd-admin 0.8.5 ≤0.12.17
rapyd-admin 0.4.0

Affected Packages

euvd rapyd_admin fix: 9.20.0

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

Rapyd Admin is a Laravel-based administration panel (zofe/rapyd-admin) whose UI is built from Blade components driven by Livewire. The vulnerable component, resources/views/components/rich-text.blade.php, echoes the bound model value as raw HTML rather than through Blade's escaped {{ }} syntax, and the bound property is writable from the client side via Livewire's update API; helpers.php in the same release contains the value-handling logic referenced by the advisory. Because the value is written by the browser and later re-rendered raw when an admin reopens the record form, the flaw is a classic CWE-79 stored cross-site scripting issue rooted in missing output encoding/sanitisation at the render layer. The fix introduces ezyang/htmlpurifier as a dependency plus a rapyd_clean_html() helper governed by a rapyd.html_allowed allow-list, so rich-text values are sanitised before display; the same security release (changelog 9.19.0, release tag v9.20.0) also escaped option labels in x-rpd::select-list, blocked '<' and '>' in display names, removed the hard-coded admin@laravel/admin credential, and closed broken-access-control paths in the UsersEdit/UsersModalEditEmbed components, indicating a broader hardening pass across the admin UI.

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

Authenticated low-privileged user stores the payload (PR:L), an admin must open the form (UI:R), and script runs in a different security context (S:C) with limited C/I impact typical of XSS (A:N).

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
Present
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

Lifecycle Timeline

1
Patch available
Oct 13, 2026 - 20:20 EUVD

DescriptionCVE.org

Rapyd Admin before 9.20.0 contains a stored cross-site scripting vulnerability in the x-rpd::rich-text Blade component that outputs bound model values as raw HTML without sanitisation. Authenticated users can set the bound property through the Livewire client API to store JavaScript that executes when administrators open the record's form.

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Low
niche open-source Laravel admin package, limited production footprint
Data Quality
5 sources
Confidence: Medium

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 No
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
Defer
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Low

Priority Score

10
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
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-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