Skip to main content

code16 Sharp CVE-2026-61825

| EUVDEUVD-2026-86384 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-09-24 GitHub_M GHSA-vj3q-vp3g-j9c8
8.7
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 low-privileged Sharp editor
  2. Delivery
    Submit editor content with data-html-content markup
  3. Exploit
    Sanitizer preserves executable HTML
  4. Execution
    Payload stored in CMS
  5. Persist
    Admin opens record
  6. Impact
    Script runs in victim admin 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 an authenticated user with permission to submit content into a SharpEditorFormField (PR:L) and a second user viewing that stored content (UI:R). The specific trigger is content bearing the data-html-content attribute (and, pre-fix, iframe srcdoc), which bypassed the server-side HtmlSanitizer even when the SharpFormEditorField::RAW_HTML toolbar button was NOT enabled - that unconditional preservation is the bug the patch fixes. Limiting factors: attacker needs a valid editor-level account on the Sharp admin panel, a victim must open the stored record, and applications that intentionally enable RAW_HTML remain responsible for their own sanitization (so those deployments are expected to be affected by design and must self-mitigate). Not remotely exploitable against an unauthenticated default install.

Impact

The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N, base 8.7) describes a network-reachable stored XSS requiring a low-privileged authenticated account to inject content and a victim (typically a higher-privileged admin) to later view it. The scope change (S:C) is justified because injected script executes in the victim's browser session, a different security authority than the vulnerable server-side sanitizer. There is NO EPSS score, NO CISA KEV listing, and NO public exploit code in the provided data - so exploitation is 'no public exploit identified at time of analysis'. This tempers the high 8.7 base: the flaw is real and the fix commit (ec509a22) plus a regression test confirm the root cause, but the absence of KEV/EPSS/POC signals means this is not evidence of active or widespread exploitation. The C:H/I:H impact rating is arguably generous for a trusted-user stored XSS confined to an admin CMS - real impact depends on session theft/action-on-behalf within the Sharp admin panel, and I lean toward C:L/I:L (see assessed vector). Net: a legitimate priority to patch for anyone running Sharp with multi-user editor access, but not an emergency mass-exploitation candidate given the niche footprint and PR:L + UI:R gating.

Exploit ScenarioDerived

A low-privileged content editor in a Sharp-powered admin panel submits editor field content containing an element with the data-html-content attribute (e.g. an iframe srcdoc or div carrying script markup) that bypasses the HtmlSanitizer even when the RAW_HTML toolbar button is not enabled. When an administrator or another user later opens that stored record in the admin interface, the preserved executable markup runs in their authenticated browser session. No public exploit code is identified, though the fix commit includes unit tests demonstrating the payload structure.

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 submit content into a SharpEditorFormField persist executable markup that later runs in the browser of anyone who opens the stored record, including higher-privileged administrators. The bug is that markup carrying the data-html-content attribute - and, before the fix, iframe srcdoc - survived the framework's server-side sanitization even when the SharpFormEditorField::RAW_HTML toolbar button was not enabled (CVSS 3.1 AV:N/AC:L/PR:L/UI:R/S:C, published base 8.7; our assessment rates the integrity/confidentiality consequences lower, C:L/I:L). No public exploit code or confirmed active exploitation was identified at time of analysis, but exploitation requires only a low-privileged editor-level account on the Sharp admin panel plus a victim viewing the poisoned record.

RemediationAI

Vendor-released patch: upgrade to code16 Sharp 9.22.5 or later, which removes iframe srcdoc from the sanitizer allow-list and only preserves the data-html-content attribute when SharpFormEditorField::RAW_HTML is actually enabled in the field toolbar (see https://github.com/code16/sharp/security/advisories/GHSA-vj3q-vp3g-j9c8 and commit https://github.com/code16/sharp/commit/ec509a22c808a5bd9dfad6a0a85c92ce6f411e21). Where an immediate upgrade is not possible, sanitize all editor content server-side before storing or rendering it - for example with Symfony HtmlSanitizer configured to drop data-html-content and iframe srcdoc - and disable the RAW_HTML toolbar button on any field that does not genuinely require raw HTML authoring; the trade-off is that RAW_HTML-dependent content will lose embedded markup and authors must fall back to sanitized formatting, and post-hoc sanitization will not clean records already stored. Note that deployments intentionally using SharpFormEditorField::RAW_HTML are affected by design and must maintain their own sanitization pipeline regardless of version, since the patch deliberately leaves that path to the application. Compensating controls: restrict editor-level accounts to trusted staff and treat the event of a low-privileged user submitting editor content as a security-relevant action until the upgrade is applied.

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

Sharp is a Laravel-based framework for building content-management and administrative interfaces, and the vulnerable component is its rich-text editor field, SharpEditorFormField, whose values are normalized server-side by FormatsSanitizedValue/EditorFormatter. That formatter wraps Symfony HtmlSanitizer and is supposed to strip dangerous markup, but its allow-list logic unconditionally preserved the data-html-content attribute and admitted iframe srcdoc, so an attacker could smuggle script-bearing content past sanitization and have it survive storage and later re-render as live HTML - a classic CWE-79 improper-neutralization-of-input-during-web-page-generation issue (stored/persistent XSS rather than reflected). The vendor patch (commit ec509a22c808a5bd9dfad6a0a85c92ce6f411e21) removes 'srcdoc' from the sanitizer configuration and makes 'data-html-content' conditional on SharpFormEditorField::RAW_HTML actually being present in the field toolbar, with new unit tests asserting that data-html-content is stripped when RAW_HTML is not enabled. This confirms the root cause was an overly permissive, context-blind allow-list rather than a flaw in any single HTML parser.

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 8.7 HIGH
AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N
vuln.today AI 5.4 MEDIUM

Authenticated editor (PR:L) stores payload that runs when another user views it (UI:R, S:C); impact is browser-session script execution in an admin panel, assessed C:L/I:L rather than H.

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:L/VI:L/VA:N/SC:L/SI:L/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
Changed
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

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

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 SharpEditorFormField: attacker-controlled content bearing the data-html-content attribute can bypass HTML sanitization and preserve executable markup, which may execute when another user views the stored content. The vendor identifies version 9.22.5 as patched; applications that intentionally enable SharpFormEditorField::RAW_HTML must continue to sanitize editor content themselves. As a workaround, applications should sanitize all editor content before storing or rendering it, for example with Symfony HtmlSanitizer, and disable RAW_HTML functionality where it is not required.

Technical POC Analysis

Note on evidence: The supplied material is the GitHub advisory (GHSA-vj3q-vp3g-j9c8) plus a commit hash (ec509a2).

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

code16 Sharp, an administrative back-office framework, contains a stored cross-site scripting flaw (CVE-2026-61825) affecting releases prior to 9.22.5. An authenticated editor-level user can plant persistent malicious content that executes in the browsers of administrators who later open the poisoned record, creating a realistic escalation path from a low-privilege account to privileged administrative sessions. Leadership should treat this as a high-priority identity and data-protection risk to internal administrative operations rather than a routine web-coding defect.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict Sharp admin panel to trusted networks or VPN and require MFA; enforce least privilege to limit editor-level content submission; disable SharpEditorFormField RAW_HTML and strip the data-html-content attribute and iframe srcdoc at both input and output; deploy a Content Security Policy that blocks inline script; monitor stored records and administrative sessions for anomalies and rotate credentials of potentially exposed administrators.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Low
niche Laravel CMS/admin framework, limited enterprise footprint
Threat Intel
1
1 source
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 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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

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-61823 HIGH POC
7.3 Sep 24

Stored cross-site scripting in code16 Sharp before 9.22.5 lets an authenticated user who can edit a rich-text Editor fie

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