GHSA-rgj7-g3m4-5g8c: Npm/sharp vulnerability

Published Sep 8, 2026
·
Updated

Impact A number of vulnerabilities, two rated as "Critical" severity using CVSSv3, have been discovered and fixed in the upstream libheif dependency. These can lead to possible remote code execution (RCE) on glibc-based Linux when run under certain conditions.

The attack vector for these claims to be "network" however sharp does not provide any networking features so this vulnerability is down-rated to a "High" severity using CVSSv4 but please note its Subsequent System Impact.

Those processing untrusted input with versions of sharp prior to 0.35.4 are affected.

Patches

Using prebuilt binaries provided by sharp?

Most people rely on the prebuilt binaries provided by sharp.

Please upgrade sharp to the latest version, currently 0.35.4, which provides libheif 1.23.2.

Using a globally-installed libheif?

Please ensure you are using the latest libheif 1.23.2.

Workarounds Add the following to your code to prevent sharp from decoding AVIF images. js sharp.block({ operation: ["VipsForeignLoadHeif"] });

Ensure you are using a node executable binary compiled as a Position Independent Executable (PIE). Most Linux package managers already do this for protection against RCE however be warned that the "official" Node.js binaries do not.

References - CVE-2026-84383 - https://github.com/strukturag/libheif/security/advisories/GHSA-2jg2-4ch7-h545

Affected Software

1 affected componentFixes available
npm/sharp<0.35.4
0.35.4

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade npm/sharp to a version that resolves this vulnerability.

    Fixed in 0.35.4
  2. Upgrade

    Upgrade sharp to a version that resolves this vulnerability.

    Fixed in 0.35.4
  3. Upgrade

    Upgrade libheif to a version that resolves this vulnerability.

    Fixed in 1.23.2
  4. Configuration

    Add the following to your code to prevent sharp from decoding AVIF images: `sharp.block({ operation: ["VipsForeignLoadHeif"] });`

    sharp sharp.block({ operation: ["VipsForeignLoadHeif"] }) = true

Event History

Sep 8, 2026
Advisory Published
via GitHub·09:25 PM
Data Sourced
via GitHub·09:25 PM
DescriptionWeaknessAffected Software

Frequently Asked Questions

1

Which deployments are most exposed?

Deployments that process untrusted input using sharp versions earlier than 0.35.4 are affected. The described RCE impact applies to glibc-based Linux under certain conditions, and sharp itself does not provide networking features.

2

What needs to happen for exploitation?

An attacker would need to cause the application to process untrusted image input. The supplied workaround specifically prevents decoding AVIF images, indicating AVIF decoding is the relevant exposure path.

3

How should installations using sharp's prebuilt binaries be remediated?

Upgrade sharp to version 0.35.4, which provides libheif 1.23.2. Users relying on a globally installed libheif should ensure that libheif is version 1.23.2.

4

What can be done if an upgrade cannot be applied immediately?

Disable HEIF/AVIF decoding in sharp with sharp.block({ operation: ["VipsForeignLoadHeif"] });. On Linux, ensure the node executable is compiled as a Position Independent Executable (PIE); most Linux package-manager builds already include this protection.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203