Skip to main content

sharp CVE-2026-114111

| EUVDEUVD-2026-106914 HIGH
Use After Free (CWE-416)
2026-10-21 VulnCheck GHSA-j56w-ppx9-7qff
8.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Submit crafted SVG to image pipeline
  2. Exploit
    sharp decodes it via librsvg
  3. Execution
    Trigger use-after-free memory corruption
  4. Impact
    Code execution in Node.js process on glibc Linux

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory lifecycle management
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Privilege Escalation

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

Exploitation Conditions

Exploitation requires the application to decode an attacker-supplied SVG image through sharp's librsvg-backed loader (VipsForeignLoadSvg) using a vulnerable sharp (< 0.35.5) with the pre-0.35.5 bundled librsvg (before 2.63.2). Reaching code execution is further constrained to glibc-based Linux and to node executables NOT compiled as Position Independent Executables (PIE) - the advisory explicitly notes that PIE-hardened node, used by most Linux package managers, prevents RCE, while the 'official' Node.js binaries are not PIE and remain exposed. Limiting/mitigating factors: SVG decoding must be enabled (it can be fully disabled via sharp.block({ operation: ['VipsForeignLoadSvg'] })), the host must be glibc Linux, and additional unspecified 'runtime-specific conditions' must align; absent these the flaw degrades to a memory-corruption/crash rather than reliable RCE.

Impact

The input assigns CVSS 4.0 8.9 (High) via CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N with high impact across both the vulnerable and subsequent system, reflecting a use-after-free (CWE-416) in the bundled librsvg dependency (CVE-2026-96889) that can yield RCE. Crucially, the raw score overstates turnkey risk: the GHSA advisory and description repeatedly qualify the outcome as occurring only 'under certain runtime-specific conditions' and 'may result' in code execution - captured by AT:P (attack requirements present) - and the advisory names a hard precondition that RCE is avoided entirely if the node executable is compiled as a Position Independent Executable (PIE), which most Linux package managers already enforce (only the official Node.js binaries are not PIE). There is NO EPSS score, NO CISA KEV listing, and NO public exploit provided in the input, so exploitation is 'no public exploit identified at time of analysis' - this should be treated as a conditional, defense-in-depth memory-safety fix rather than evidence of imminent mass exploitation. There is also a signal conflict worth verifying: the official vector uses AV:L (local), yet the description frames the threat as 'an attacker can supply a crafted SVG image' decoded by sharp, which in typical web/upload pipelines is a network-delivered, unauthenticated input (PR:N/UI:N) - verify with the vendor whether AV:L reflects a specific local-delivery assumption or is conservative. Net: a credible RCE primitive, but gated by glibc-based Linux, non-PIE node, and active SVG decoding, placing it below unconditional-critical priority.

Exploit ScenarioDerived

An application uses sharp (< 0.35.5) to process user-supplied images on a glibc-based Linux host where the node runtime is not PIE-hardened; an attacker submits a crafted SVG that sharp hands to librsvg for decoding. The malformed SVG triggers the use-after-free in librsvg, and under the right runtime conditions the corrupted memory is leveraged to execute arbitrary code in the context of the Node.js process. No public proof-of-concept is identified in the provided data, and success depends on the non-default-hardening and platform conditions noted in the advisory.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 21, 2026

Code execution can occur in sharp versions before 0.35.5 when an application decodes attacker-supplied SVG images through the bundled librsvg, which contains the use-after-free tracked as CVE-2026-96889. The RCE outcome is constrained to glibc-based Linux and Node.js executables that are not built as PIE, so many distribution-packaged Node.js deployments are protected from code execution even though the underlying memory corruption remains. No public exploit was identified at time of analysis; SVG decoding can be disabled with sharp.block as a workaround.

RemediationAI

Vendor-released patch: upgrade sharp to 0.35.5 or later, which bundles librsvg 2.63.2, and update any globally installed librsvg to 2.63.2; the upstream fix commit is 96de105d9d36ab04c76c2b78b97255171630d236 and the advisory is at https://github.com/lovell/sharp/security/advisories/GHSA-wq5f-xc86-pv6w. If immediate upgrade is not possible, disable SVG decoding with sharp.block({ operation: ["VipsForeignLoadSvg"] }); the trade-off is loss of SVG support in that process. Additionally, run node from a PIE-compiled binary where feasible because the advisory notes official Node.js binaries are not PIE and remain exposed to the RCE outcome, whereas most Linux package-manager Node.js builds are PIE-hardened; this reduces exploitability but does not fix the underlying librsvg memory corruption.

Affected VersionsENISA

sharp 0 <0.35.5

Affected Packages

npm sharp fix: 0.35.5

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

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

Technical ContextAI · show details

sharp is a Node.js image-processing library that uses libvips and librsvg for SVG decoding through the VipsForeignLoadSvg loader. The root cause is CWE-416, a use-after-free in librsvg before 2.63.2 (CVE-2026-96889), reached when sharp decodes a crafted SVG; memory corruption can become code execution only when runtime-specific conditions align on glibc-based Linux and the node executable is not PIE. The independent assessment rates this CVSS 3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H, treating it as network-reachable in applications that accept remote SVGs but with high attack complexity and strong runtime prerequisites; the source CVSS 4.0 vector similarly reflects high impact with prerequisite conditions. The affected CPE cpe:2.3:a:lovell:sharp:*:*:*:*:*:*:*:* is broad, while package data identifies npm/sharp before 0.35.5 as vulnerable and 0.35.5 as bundling the fixed librsvg 2.63.2.

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 (VulnCheck) PRIMARY 8.9 HIGH
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
vuln.today AI 8.1 HIGH

Crafted SVG is typically network-delivered and unauthenticated (AV:N/PR:N/UI:N); AC:H reflects the runtime-specific, non-PIE/glibc conditions required, with full in-process code execution impact.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
High
Subsequent system: Integrity
High
Subsequent system: Availability
High

Lifecycle Timeline

2
Patch available
Oct 21, 2026 - 02:01 EUVD
CVE Published
Oct 21, 2026 - 00:37 cve.org
HIGH 8.9

DescriptionCVE.org

sharp before 0.35.5 bundles a librsvg dependency affected by a memory-related vulnerability (CVE-2026-96889) that, under certain runtime-specific conditions, can lead to code execution on glibc-based Linux. An attacker can supply a crafted SVG image that, when decoded by sharp through librsvg, may result in arbitrary code execution.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 9,163 npm packages depend on sharp (2,487 direct, 6,754 indirect)

Ecosystem-wide dependent count for version 0.35.5.

Technical POC Analysis

The defect is CWE-416, use-after-free, and it does not live in sharp's own JavaScript or C++ code.

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

Executive ViewAI

Why It Matters

Sharp image-processing library versions before 0.35.5 can execute attacker-controlled code when decoding malicious SVG images on glibc-based Linux with non-PIE Node.js executables, exposing applications that process untrusted uploads. Leadership should care because a successful exploit could compromise service integrity and data on affected deployments, though the code-execution path is constrained and no public exploit was identified at time of analysis.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; disable SVG decoding with sharp.block, reject or sanitize untrusted SVG inputs, restrict SVG processing to trusted sources, and prefer PIE-built Node.js executables on glibc-based Linux to reduce code-execution exposure while tracking CVE-2026-96889 for a librsvg fix.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
High
sharp is among the most widely used Node.js image-processing npm packages
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 No
EPSS 0.1%
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
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
High

Priority Score

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

Attack Technique

Use-after-free vulnerabilities occur when a program continues to access memory through a pointer after that memory has been deallocated.

Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

Related Vulnerabilities in Sharp Bundled Dependency Code Execution Flaws

View all 3

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