Skip to content

chore(deps): update dependency sharp to ^0.35.0 [security]#7970

Merged
JSONbored merged 1 commit into
mainfrom
renovate/npm-sharp-vulnerability
Jul 22, 2026
Merged

chore(deps): update dependency sharp to ^0.35.0 [security]#7970
JSONbored merged 1 commit into
mainfrom
renovate/npm-sharp-vulnerability

Conversation

@renovate

@renovate renovate Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
sharp (source, changelog) ^0.34.5^0.35.0 age confidence

Dependency PRs must keep npm run test:ci passing. The 97% coverage requirement is enforced as Codecov patch coverage on changed lines (codecov/patch), so dependency-only bumps satisfy it without new tests.

GitHub Actions updates must remain SHA-pinned.

Renovate is the sole dependency and security-update bot for this repo; GitHub Dependabot security updates are disabled to avoid duplicate PRs (e.g. the two hono advisory PRs).


sharp inherited vulnerabilities in libvips: CVE-2026-33327, CVE-2026-33328, CVE-2026-35590, CVE-2026-35591

GHSA-f88m-g3jw-g9cj

More information

Details

Impact

A number of vulnerabilities, two rated as "High" severity using CVSSv4, have been discovered and fixed in the upstream libvips dependency.

Those processing untrusted input with versions of sharp prior to 0.35.0 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.3, which provides libvips 8.18.3.

Using a globally-installed libvips?

Please ensure you are using the latest libvips 8.18.3.

Workarounds

Add the following to your code to prevent sharp from decoding GIF, TIFF and VIPS images.

sharp.block({ operation: ["VipsForeignLoadNsgif", "VipsForeignLoadTiff", "VipsForeignLoadVips"] });

Severity

  • CVSS Score: 7.0 / 10 (High)
  • Vector String: CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:H/VA:H/SC:N/SI:N/SA:N

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Release Notes

lovell/sharp (sharp)

v0.35.0

Compare Source

  • Breaking: Drop support for Node.js 18, now requires Node.js >= 20.9.0.

  • Breaking: Remove install script from package.json file.
    Compiling from source is now opt-in via the build script.

  • Breaking: Lossy AVIF output is now tuned using SSIMULACRA2-based iq quality metrics.

  • Breaking: Add limitInputChannels with a default value of 5.

  • Breaking: Remove deprecated failOnError constructor property.

  • Breaking: Remove deprecated paletteBitDepth from metadata response.

  • Breaking: Remove deprecated properties from sharpen operation.

  • Breaking: Rename format.jp2k as format.jp2 for API consistency.

  • Upgrade to libvips v8.18.3 for upstream bug fixes.

  • Remove experimental status from WebAssembly binaries.

  • Add prebuilt binaries for FreeBSD (WebAssembly).

  • Deprecate Windows 32-bit (win32-ia32) prebuilt binaries.

  • Ensure TIFF output bitdepth option is limited to 1, 2 or 4.

  • Add AVIF/HEIF tune option for control over quality metrics.
    #​4227

  • Add keepGainMap and withGainMap to process HDR JPEG images with embedded gain maps.
    #​4314

  • Add toUint8Array for output image as a TypedArray backed by a transferable ArrayBuffer.
    #​4355

  • Require prebuilt binaries using static paths to aid code bundling.
    #​4380

  • TypeScript: Ensure FormatEnum keys match reality.
    #​4475

  • Add margin option to trim operation.
    #​4480
    @​eddienubes

  • Ensure HEIF primary item is used as default page/frame.
    #​4487

  • Add image Media Type (MIME Type) to metadata response.
    #​4492

  • Add withDensity to set output density in EXIF metadata.
    #​4496

  • Improve pkg-config path discovery.
    #​4504

  • Add WebP exact option for control over transparent pixel colour values.

  • Add support for ECMAScript Modules (ESM).
    #​4509
    @​florian-lefebvre


Configuration

📅 Schedule: (in timezone America/Phoenix)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot requested a review from JSONbored as a code owner July 22, 2026 00:42
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 22, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
loopover-ui d17de1f Commit Preview URL

Branch Preview URL
Jul 22 2026, 12:54 AM

@superagent-security

Copy link
Copy Markdown
Contributor

Superagent didn't find any vulnerabilities or security issues in this PR.

@codecov

codecov Bot commented Jul 22, 2026

Copy link
Copy Markdown

Bundle Report

Bundle size has no change ✅

@renovate
renovate Bot force-pushed the renovate/npm-sharp-vulnerability branch from 9503f71 to d17de1f Compare July 22, 2026 00:52
@JSONbored
JSONbored merged commit 7e7f425 into main Jul 22, 2026
14 checks passed
@JSONbored
JSONbored deleted the renovate/npm-sharp-vulnerability branch July 22, 2026 01:04
@loopover-orb loopover-orb Bot added the gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier. label Jul 22, 2026
@codecov

codecov Bot commented Jul 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.89%. Comparing base (84a7878) to head (d17de1f).
⚠️ Report is 2 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #7970   +/-   ##
=======================================
  Coverage   91.89%   91.89%           
=======================================
  Files         738      738           
  Lines       75706    75706           
  Branches    23011    23011           
=======================================
  Hits        69573    69573           
  Misses       5041     5041           
  Partials     1092     1092           
Flag Coverage Δ
shard-1 58.72% <ø> (-0.01%) ⬇️
shard-2 46.90% <ø> (ø)
shard-3 56.28% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

JSONbored added a commit that referenced this pull request Jul 22, 2026
… resolve it (#8115)

Closes #8112.

release-selfhost.yml's multi-arch build started failing on every
release attempt with "npm error code EOVERRIDE: Override for
sharp@0.34.5 conflicts with direct dependency". The Dockerfile
hardcodes a standalone `npm install sharp@<version>` (esbuild marks
sharp external in the self-host bundle, so it can't ship inside
dist/server.mjs); #7970's dependency bump moved package.json's
sharp to ^0.35.0 and added a matching overrides.sharp entry, but a
Dependabot-style bump has no way to also update a version hardcoded
inside a Dockerfile RUN command, so this line silently drifted.

Re-pinning to the exact resolved version (sharp@0.35.3) still fails
identically: recent npm treats an explicit CLI version and an
`overrides` entry for the SAME package as two competing authorities
and refuses to pick between them, regardless of whether the versions
actually agree. Verified locally (both a standalone `npm install`
and a full `docker build --no-cache --target runtime-base`) that
dropping the version entirely and letting npm resolve from
package.json's overrides — the real source of truth for this
version, already kept current by Dependabot/Renovate — builds
cleanly to the same 0.35.3.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant