GHSA-wqcr-xm43-hpqr json
Vulnerable version of libwebp and can be exploited with a malicious source image
published 3y ago modified last yr.
- cvss
- 8.8
- version 3.1, GitHub
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
### Impact
This vulnerability affects deployments of FreeImage that involve decoding or processing malicious source .webp files. If you only process your own trusted files, this should not affect you, but **you should remove FreeImage from your project, as it is not maintained and presents a massive security risk**.
If you are using FreeImage via ImageResizer.Plugins.FreeImage, please utilize [Imageflow](https://github.com/imazen/imageflow) or [Imageflow.Server](https://github.com/imazen/imageflow-dotnet-server) instead, or upgrade to ImageResizer 5 and use ImageResizer.Plugins.Imageflow (enable Prereleases on NuGet to access).
FreeImage relies on Google's [libwebp](https://github.com/webmproject/libwebp) library to decode .webp images, and is affected by the recent zero-day out-of-bounds write vulnerability [CVE-2023-4863](https://nvd.nist.gov/vuln/detail/CVE-2023-4863) and https://github.com/advisories/GHSA-j7hp-h8jx-5ppr. The libwebp vulnerability also affects Chrome, Android, macOS, and other consumers of the library).
libwebp patched [the vulnerability](https://github.com/webmproject/libwebp/commit/2af26267cdfcb63a88e5c74a85927a12d6ca1d76 ) and released [1.3.2](https://github.com/webmproject/libwebp/releases/tag/v1.3.2). FreeImage hasn't been updated since then and is presumed vulnerable.
### Patches
None. FreeImage has not been updated in several years.
### Workarounds
If you are using ImageResizer.Plugins.FreeImage, please utilize [Imageflow](https://github.com/imazen/imageflow) or [Imageflow.Server](https://github.com/imazen/imageflow-dotnet-server) instead, or upgrade to ImageResizer 5 and use ImageResizer.Plugins.Imageflow (enable Prereleases on NuGet to access).
### References
https://github.com/advisories/GHSA-j7hp-h8jx-5ppr https://nvd.nist.gov/vuln/detail/CVE-2023-4863 https://github.com/webmproject/libwebp/commit/2af26267cdfcb63a88e5c74a85927a12d6ca1d76 https://github.com/NoXF/libwebp-sys/commits/master
Patch / fix
Is GHSA-wqcr-xm43-hpqr in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| GitHub | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| nuget | ImageResizer.Plugins.FreeImage | <=4.2.8 |
no fix listed |
References
-
github.com
/webmproject/libwebp/commit/2af26267cdfcb63a88e5c74a85927a12d6ca1d76
web
-
github.com
/imazen/resizer/security/advisories/GHSA-wqcr-xm43-hpqr
web
-
nvd.nist.gov
/vuln/detail/CVE-2023-4863
advisory
-
github.com
/NoXF/libwebp-sys/commits/master
web
-
github.com
/advisories/GHSA-j7hp-h8jx-5ppr
advisory
-
github.com
/imazen/resizer
package
Sources
- GitHub Advisory GHSA-wqcr-xm43-hpqr
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.