Skip to main content

code16 Sharp CVE-2026-61823

| EUVDEUVD-2026-86390 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-09-24 GitHub_M GHSA-qxg3-46rw-79j8
7.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as user with Editor-field edit rights
  2. Delivery
    Craft iframe srcdoc script payload
  3. Exploit
    Save content, bypassing sanitizer encoding
  4. Execution
    Admin views stored content
  5. Impact
    Script executes in admin session, hijack/takeover

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

Requires an authenticated Sharp user who has permission to edit an Editor (rich-text) field that uses the affected HTML sanitizer, on a version before 9.22.5. The attacker stores an iframe with a 'srcdoc' attribute containing script; exploitation only fires when another user (typically a higher-privileged admin) views the stored content, so success depends on that victim interaction (UI:R). Limiting factors: valid account plus Editor-field edit privilege (PR:L), a second viewing user, and an unpatched instance; the documented workaround is to strip every iframe 'srcdoc' attribute before storing or rendering Editor content.

Impact

This is a genuine but moderate-priority stored XSS (CVSS 7.3, CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N) in code16 Sharp's rich-text Editor field, confirmed by the vendor GitHub advisory (GHSA-qxg3-46rw-79j8) and the fix commit that removes 'srcdoc' from allowed iframe attributes. The signals are internally consistent: network vector but gated by PR:L (attacker needs a valid account with permission to edit an Editor field) and UI:R (a second user must view the poisoned content). No EPSS score, KEV listing, or public exploit is present in the input, so exploitation status is 'no public exploit identified at time of analysis' - this is not a mass-exploitation candidate and there is no SSVC automatable/technical-impact data to weigh. The C:H/I:H rating reflects the worst-case admin-context impact (session hijacking, account takeover, privilege escalation) claimed in the description rather than a demonstrated exploit; because the payload runs in an authenticated admin/back-office UI, that high-impact rating is defensible. Net: a real vulnerability worth patching, especially in multi-user Sharp back offices, but the required authentication and victim interaction make it targeted/insider-flavored rather than a broad internet-facing threat.

Exploit ScenarioDerived

A lower-privileged but authenticated Sharp back-office user with edit rights on an Editor field saves content containing '<iframe srcdoc="<script>alert(document.cookie)</script>"></iframe>'; the sanitizer HTML-encodes the srcdoc value but the browser decodes it when rendering the iframe document, so the script executes. When a higher-privileged administrator later opens that record, the JavaScript runs in their session, enabling session/cookie theft, actions on their behalf, or privilege escalation. No public exploit code is identified, though the fix commit's test case includes a working srcdoc payload.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
1 PoC candidate (unverified) 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 24, 2026

Stored cross-site scripting in code16 Sharp before 9.22.5 lets an authenticated user who can edit a rich-text Editor field persist JavaScript via the iframe srcdoc attribute; the payload executes in the browser of any other user - typically a higher-privileged administrator - who later views the stored content, enabling session hijacking, account takeover, privilege escalation or disclosure of administrative data. The vendor confirmed the issue in advisory GHSA-qxg3-46rw-79j8 and shipped a fix in version 9.22.5 (commit ec509a22) that removes srcdoc from the permitted iframe attributes; exploitation requires a valid account with Editor-field edit permission and a second viewing victim (CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N, 7.3). There is no indication of active exploitation and no public exploit identified at time of analysis.

RemediationAI

Vendor-released patch: upgrade to code16 Sharp 9.22.5, which removes 'srcdoc' from the allowed iframe attributes and also restricts the data-html-content attribute to Editor fields whose toolbar explicitly includes RAW_HTML; the change is carried in commit ec509a22c808a5bd9dfad6a0a85c92ce6f411e21 and documented in advisory GHSA-qxg3-46rw-79j8 (https://github.com/code16/sharp/security/advisories/GHSA-qxg3-46rw-79j8), which should be consulted for the exact upgrade notes. If upgrading is not immediately possible, apply the vendor-documented workaround by manually sanitizing all Editor field content and stripping every iframe srcdoc attribute before the value is stored or rendered - for example in a custom formatter or model mutator that runs ahead of FormsSanitizedValue; the trade-off is that legitimate embedded-HTML usage via srcdoc stops working and the control must be maintained on every write and read path, so it is error-prone compared with patching. As a compensating measure, restrict permission to edit Editor fields to trusted users, since exploitation requires an authenticated account with that privilege (PR:L) and a second user viewing the stored content (UI:R); this reduces the attacker pool but does not fix the underlying sanitizer flaw and will not protect against an insider or a compromised low-privileged account. Because the payload is stored and fires on viewing by a higher-privileged user, consider invalidating sessions and rotating administrative credentials for any instance where suspicious Editor content was created before patching.

Affected VersionsENISA

sharp < 9.22.5

Affected Packages

composer code16/sharp fix: 9.22.5
euvd sharp fix: 9.22.5

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

code16 Sharp is a Laravel-based framework for building content-management and administrative interfaces, and its rich-text Editor field pipes user-supplied HTML through a sanitizer implemented in src/Utils/Sanitization/FormatsSanitizedValue.php before storage and rendering. The vulnerable class is CWE-79 (improper neutralization of input during web page generation), but the specific failure is a sanitizer allow-list gap rather than naive output escaping: the sanitizer permitted the srcdoc attribute on iframe elements. The developer's implicit assumption was that encoding any markup found inside srcdoc neutralizes it, but srcdoc is an attribute whose value is decoded by the HTML parser before the iframe document is constructed, so entity-encoded script inside the attribute is reconstituted and executed in the origin of the embedding page. The fix commit ec509a22 deletes 'srcdoc' from the permitted attribute list and additionally tightens handling of the 'data-html-content' attribute so it is only allowed when the Editor field's toolbar includes SharpFormEditorField::RAW_HTML (with a matching test asserting that data-html-content is stripped when the RAW_HTML button is absent). The affected component is the Editor formatter used by SharpFormEditorField; CPE cpe:2.3:a:code16:sharp:*:*:*:*:*:*:*:* covers all releases prior to 9.22.5.

Know when Sharp 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 7.3 HIGH
AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N
vuln.today AI 7.3 HIGH

Authenticated editor account gives PR:L, victim must view stored content (UI:R); executing JS in an admin session justifies C:H/I:H with no availability impact.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Sep 24, 2026 - 20:03 EUVD
CVE Published
Sep 24, 2026 - 18:31 cve.org
HIGH 7.3

DescriptionCVE.org

code16 Sharp is a Laravel-based framework for building content-management and administrative interfaces. Versions before 9.22.5 contain a stored cross-site scripting vulnerability in the rich-text editor because the HTML sanitizer permits the srcdoc attribute on iframe elements. Although markup inside srcdoc is HTML-encoded during sanitization, browsers decode attribute entities before interpreting the iframe document, allowing an authenticated user with permission to edit an Editor field to store executable JavaScript that runs when another user views the content. Successful exploitation can result in session hijacking, unauthorized actions, account takeover, privilege escalation, or disclosure of administrative data. Version 9.22.5 patches the vulnerability by removing srcdoc from the permitted iframe attributes. As a workaround, applications that cannot upgrade should manually sanitize all Editor field content and remove every iframe srcdoc attribute before storing or rendering it.

Technical POC Analysis

CWE-79 (stored cross-site scripting).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Latest POC

1 PoC candidate from github (unverified)

Sign in to open the public PoC links collected for this CVE.

Executive ViewAI

Why It Matters

A stored cross-site scripting flaw in code16 Sharp (versions before 9.22.5) lets any user who can edit a rich-text Editor field plant malicious code that executes in the browser of the next person to view that content - most critically, an administrator with elevated privileges. Because the code runs inside the victim's authenticated session, an attacker could hijack sessions, seize privileged accounts, and expose administrative data, effectively converting a routine content-editing right into a route to broader compromise. There is no public exploit code or confirmed active exploitation at this time, so this is a time-bound remediation priority rather than an active incident.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 90% exploitable
Prevalence
Low
niche open-source Laravel admin/CMS framework, developer-focused, limited enterprise footprint
Threat Intel
1
1 source
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 HIGH
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

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

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

More in Sharp

View all
CVE-2019-3929 CRITICAL POC
9.8 Apr 30

The Crestron AM-100 firmware 1.6.0.2, Crestron AM-101 firmware 2.7.0.1, Barco wePresent WiPG-1000P firmware 2.3.0.10, Ba

CVE-2019-3930 CRITICAL POC
9.8 Apr 30

The Crestron AM-100 firmware 1.6.0.2, Crestron AM-101 firmware 2.7.0.1, Barco wePresent WiPG-1000P firmware 2.3.0.10, Ba

CVE-2026-61825 HIGH POC
8.7 Sep 24

Stored cross-site scripting in code16 Sharp before 9.22.5 lets an authenticated user who can submit content into a Sharp

CVE-2024-47406 CRITICAL
9.8 Oct 25

Sharp and Toshiba Tec MFPs improperly process HTTP authentication requests, resulting in an authentication bypass vulner

CVE-2024-23786 CRITICAL
9.3 Feb 14

Cross-site scripting vulnerability in Energy Management Controller with Cloud Services JH-RVB1 /JH-RV11 Ver.B0.1.9.1 and

CVE-2026-114112 HIGH
8.9 Oct 21

Code execution can be triggered in applications that use sharp before 0.35.4 on glibc-based Linux to decode untrusted AV

CVE-2026-114111 HIGH
8.9 Oct 21

Code execution can occur in sharp versions before 0.35.5 when an application decodes attacker-supplied SVG images throug

CVE-2024-23789 HIGH
8.8 Feb 14

Energy Management Controller with Cloud Services JH-RVB1 /JH-RV11 Ver.B0.1.9.1 and earlier allows a network-adjacent una

CVE-2024-23783 HIGH
8.8 Feb 14

Improper authentication vulnerability in Energy Management Controller with Cloud Services JH-RVB1 /JH-RV11 Ver.B0.1.9.1

CVE-2026-114113 HIGH
8.4 Oct 21

Image decoding through the sharp npm library before 0.35.0 - or through a system libvips older than 8.18.3 - exposes the

CVE-2026-53634 MEDIUM POC
4.3 Jun 10

Authorization bypass in Sharp (code16/sharp Laravel CMS package) versions 9.0.0 through 9.22.3 permits authenticated use

CVE-2024-47005 HIGH
8.1 Oct 25

Sharp and Toshiba Tec MFPs provide configuration related APIs. Rated high severity (CVSS 8.1), this vulnerability is rem

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