Update dependency sharp to v0.35.4 [SECURITY] - #52105
Open
matticbot wants to merge 1 commit into
Open
Conversation
Contributor
|
Are you an Automattician? Please test your changes on all WordPress.com environments to help mitigate accidental explosions.
Interested in more tips and information?
|
Code Coverage SummaryThis PR did not change code coverage! That could be good or bad, depending on the situation. Everything covered before, and still is? Great! Nothing was covered before? Not so great. 🤷 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.35.0→0.35.4sharp: Vulnerabilities in libheif: GHSA-g89c-p67h-r497 and GHSA-2jg2-4ch7-h545
GHSA-rgj7-g3m4-5g8c
More information
Details
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.
Ensure you are using a
nodeexecutable 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
Severity
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:HReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Release Notes
lovell/sharp (sharp)
v0.35.4Compare Source
https://github.com/lovell/sharp-libvips/releases/tag/v1.3.3
Bound resize dimensions to coordinate limit.
Bound composite left and top to coordinate limit.
#4564
@metsw24-max
Round palette bit depth up for png and gif colours.
#4569
@metsw24-max
Ensure tiff.subifd input option is used.
#4572
@metsw24-max
Ensure
info.pagesis correct when limiting input page range.#4578
@metsw24-max
Improve support for input Streams finishing before output is requested.
#4584
@Jaybhade
v0.35.3Compare Source
Tighten verification of
textdimensions, TIFF tile dimensions andextendvalues.Improve code bundler support by resolving path to libvips binary.
Increase default concurrency when use of
MALLOC_ARENA_MAXis detected.Emit warning about binaries provided by Electron for use on Linux.
Add
hasAlphaproperty to outputinfo.#4500
TypeScript: Return more precise
Buffer<ArrayBuffer>fromtoBuffer.#4520
@Andarist
Bound
clahewidth and height to avoid signed overflow.#4551
@metsw24-max
Bound
trimmargin to avoid signed overflow.#4552
@metsw24-max
Reject infinite values when validating numbers.
#4553
@metsw24-max
Bound extract region to libvips coordinate limit.
#4555
@metsw24-max
Verify background colour values are numbers.
#4556
@metsw24-max
Bound create and raw input dimensions to coordinate limit.
#4558
@metsw24-max
Tighten recomb and affine matrix verification.
#4560
@chatman-media
Verify cache memory limit to avoid overflow.
#4561
@metsw24-max
v0.35.2Compare Source
TypeScript: Add
mediaTypeto metadata response.#4492
Improve WebAssembly fallback detection.
#4513
Improve code bundler support with stub binaries.
#4543
Verify GIF
effortoption is an integer.#4544
@metsw24-max
Verify
recombmatrix entries are numbers.#4545
@metsw24-max
TypeScript: Replace namespace with named exports for ESM.
#4546
Bound dilate and erode width to avoid mask-size overflow.
#4548
@metsw24-max
Verify
convolvekernel values are numbers.#4549
@metsw24-max
v0.35.1Compare Source
TypeScript: Ensure type definitions are published for both ESM and CJS.
#4537
WebAssembly: Ensure wrapper file is published.
#4538
Configuration
📅 Schedule: Branch creation - "" in timezone UTC, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.