Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessUpload crafted AVIF/HEIF image to app
-
DeliveryApplication passes image to sharp
-
Exploitlibheif heap overflow during decode
-
ExecutionCorrupt heap and hijack control flow
-
ImpactExecute arbitrary code on host
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Heap buffer bounds checking
MITRE ATT&CK
1 technique across 1 tactic: 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 application that decodes untrusted AVIF or HEIF images using sharp prior to 0.35.4, running on glibc-based Linux. The flaw is in the bundled (or globally-installed) libheif; reaching it requires that sharp's HEIF/AVIF load path (VipsForeignLoadHeif) actually process attacker-controlled image data. Achieving reliable RCE (versus a crash) is substantially more feasible when the node executable is NOT compiled as a Position Independent Executable - notably the 'official' Node.js binaries are not PIE, whereas most Linux package-manager node builds are, which mitigates. The CVSS AT:P (Attack Requirements: Present) reflects these conditional dependencies. LIMITING FACTORS: non-glibc (e.g. musl/Alpine) platforms, PIE-compiled node, and applications not exposing HEIF/AVIF decoding to untrusted input reduce or remove exposure. A documented workaround exists: sharp.block({ operation: ['VipsForeignLoadHeif'] }) disables the vulnerable decoder. |
| Impact | This is a credible priority for any glibc-based Linux service that decodes untrusted user-supplied images with sharp, but the real-world risk is more nuanced than the 8.9 CVSS 4.0 score suggests. The root cause is CWE-122 (heap-based buffer overflow) in the bundled libheif dependency (upstream GHSA-g89c-p67h-r497 / CVE-2026-84383 and GHSA-2jg2-4ch7-h545), reachable through sharp's AVIF/HEIF decoding path. Signals conflict on the attack vector: upstream libheif rated the flaw 'network' (AV:N), but the sharp maintainer deliberately down-rated it because sharp itself has no networking features, yielding the provided CVSS 4.0 vector of AV:L with AT:P (Attack Requirements: Present) - reflecting that successful RCE depends on specific runtime conditions rather than a clean remote code path. The advisory explicitly flags the high Subsequent System Impact (SC:H/SI:H/SA:H), i.e. full code execution on the host once the heap corruption is leveraged. Crucially, EPSS, KEV, SSVC, and POC data are all ABSENT from the provided input: there is no public exploit identified at time of analysis and no confirmed active exploitation. The advisory wording is also cautious - 'possible remote code execution' under 'certain conditions' - meaning weaponized exploitation is not demonstrated, only plausible. The practical risk is therefore gated by deployment specifics (see exploitation_conditions): notably, exploitation to RCE is far more feasible when the node binary is NOT compiled as a Position Independent Executable, which is the case for the 'official' Node.js binaries. Verify your node build and image-processing exposure before deprioritizing. |
| Exploit ScenarioDerived | An application that accepts user-uploaded images and processes them with sharp < 0.35.4 (e.g. thumbnail generation) is sent a crafted AVIF or HEIF file; when sharp hands the image to the bundled libheif for decoding, a heap buffer overflow is triggered, potentially leading to arbitrary code execution on a glibc-based Linux host - especially if node was not built as a PIE. No public exploit code was identified in the provided data, and the advisory describes RCE as 'possible' under 'certain conditions' rather than demonstrated. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 21, 2026
Code execution can be triggered in applications that use sharp before 0.35.4 on glibc-based Linux to decode untrusted AVIF or HEIF images, because the bundled libheif dependency contains heap buffer overflow flaws (CWE-122). The CVE record rates this 8.9 under CVSS 4.0 with a local vector and PR:N, but the independent assessment emphasizes that exploitation requires sharp's VipsForeignLoadHeif path to process attacker-controlled image data and is substantially easier when the Node.js executable is not compiled as PIE; non-glibc deployments and PIE builds reduce exposure. No public exploit identified at time of analysis, and no CISA KEV confirmation was provided.
RemediationAI
Upgrade sharp to 0.35.4 or later, which provides libheif 1.23.2, per https://github.com/lovell/sharp/security/advisories/GHSA-rgj7-g3m4-5g8c. If using a globally installed libheif rather than sharp's bundled binaries, update libheif to 1.23.2. If upgrading is not immediately possible, disable sharp's HEIF/AVIF decoding with sharp.block({ operation: ['VipsForeignLoadHeif'] }); this removes the vulnerable load path but also disables legitimate HEIF/AVIF image support. Also ensure the Node.js executable is compiled as a Position Independent Executable (PIE), since the advisory notes that official Node.js binaries are not PIE and most Linux package-manager builds are; PIE reduces exploitability but does not fix the underlying libheif flaw. Non-glibc platforms such as musl/Alpine are a limiting factor for the RCE scenario described, but upgrading remains the primary fix.
Affected VersionsENISA
Affected Packages
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
The root cause is a heap-based buffer overflow class (CWE-122) in libheif image decoding, reached through sharp's libvips HEIF/AVIF loader path. sharp versions before 0.35.4 bundle a vulnerable libheif; separate upstream libheif advisories GHSA-g89c-p67h-r497 and GHSA-2jg2-4ch7-h545 describe the decoding flaws, and sharp 0.35.4 ships libheif 1.23.2 as the fixed dependency. The CPE cpe:2.3:a:lovell:sharp:*:*:*:*:*:*:*:* identifies the affected npm package range. The CVE metadata lists CVSS 4.0 8.9 (AV:L/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H), while the independent assessment uses CVSS 3.1 AV:L/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H; both reflect a local attack vector and conditional prerequisites rather than a directly network-reachable service flaw. In practice, memory corruption during crafted AVIF/HEIF parsing can lead to code execution or crashes, with glibc-based Linux and non-PIE Node.js binaries making reliable RCE more feasible.
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
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
AV:L because sharp exposes no network interface and consumes a local image buffer/file; AC:H reflects the non-PIE/glibc heap-corruption prerequisites; S:C and C/I/A:H capture host-wide code execution.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Sharp before 0.35.4 bundles a vulnerable libheif dependency that allows attackers to achieve possible remote code execution on glibc-based Linux by supplying crafted images. Attackers can submit malicious AVIF/HEIF input to applications processing untrusted images with sharp, triggering libheif decoding flaws to execute code.
Blast Radius
ecosystem impact- 379 npm packages depend on sharp (209 direct, 173 indirect)
Ecosystem-wide dependent count for version 0.35.4.
Articles & Coverage 1
Technical POC Analysis
Evidence caveat, read first: the only supplied artifact is the GitHub advisory GHSA-rgj7-g3m4-5g8c for lovell/sharp.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
sharp versions before 0.35.4 on glibc-based Linux can permit code execution when applications decode untrusted AVIF or HEIF images, creating a high-severity memory-corruption risk for image-ingesting services. Leadership should care because products or pipelines that accept user-supplied images and rely on the affected library may be exposed, although no public exploit has been identified at time of analysis. Exposure is reduced for non-glibc deployments and Node.js builds compiled as PIE.
No vendor-released patch identified at time of analysis. Interim mitigations include disabling AVIF/HEIF decoding in sharp, rejecting untrusted AVIF/HEIF image inputs, running image-processing workloads in isolated low-privilege containers, compiling Node.js as PIE, and preferring non-glibc deployments where operationally feasible; monitor for crashes or anomalous process activity during image decoding.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
A heap overflow occurs when a program writes data beyond the bounds of a buffer allocated in the heap memory region.
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 3The 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
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
Stored cross-site scripting in code16 Sharp before 9.22.5 lets an authenticated user who can submit content into a Sharp
Stored cross-site scripting in code16 Sharp before 9.22.5 lets an authenticated user who can edit a rich-text Editor fie
Sharp and Toshiba Tec MFPs improperly process HTTP authentication requests, resulting in an authentication bypass vulner
Cross-site scripting vulnerability in Energy Management Controller with Cloud Services JH-RVB1 /JH-RV11 Ver.B0.1.9.1 and
Energy Management Controller with Cloud Services JH-RVB1 /JH-RV11 Ver.B0.1.9.1 and earlier allows a network-adjacent una
Improper authentication vulnerability in Energy Management Controller with Cloud Services JH-RVB1 /JH-RV11 Ver.B0.1.9.1
Authorization bypass in Sharp (code16/sharp Laravel CMS package) versions 9.0.0 through 9.22.3 permits authenticated use
Sharp and Toshiba Tec MFPs provide configuration related APIs. Rated high severity (CVSS 8.1), this vulnerability is rem
EUVD-2026-106915
GHSA-gqw3-74gm-648q
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB