CefSharp affected by heap buffer overflow in WebPGHSA-j646-gj5p-p45g
Fix: cefsharp/CefSharp@f2890baGHSA-j646-gj5p-p45g is a remote code execution vulnerability in CefSharp.Common. A fix is available for CefSharp.Common — see the affected versions and patch details below.
Real-World Exposure
CefSharp.Common.NETCefSharp.Common.NETCoreReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects NuGet packages — download data is not available via public APIs for these ecosystems.
Description
Google is aware that an exploit for CVE-2023-4863 exists in the wild.
Description
Heap buffer overflow in WebP in Google Chrome prior to 116.0.5845.187 allowed a remote attacker to perform an out of bounds memory write via a crafted HTML page. (Chromium security severity: Critical)
References
- https://www.cve.org/CVERecord?id=CVE-2023-4863
- https://nvd.nist.gov/vuln/detail/CVE-2023-4863
- https://www.techtarget.com/searchsecurity/news/366551978/Browser-companies-patch-critical-zero-day-vulnerability
Updated
There is another related security vulnerability.
There's another related CVE (CVE-2023-5217) that is fixed in Chromium 117.0.5938.132. This one is triggered by WebCodecs API encoder usage, so a workaround for older versions is to disable the WebCodecs API (
--disable-blink-features=WebCodecs).
As per https://magpcss.org/ceforum/viewtopic.php?f=6&t=19551#p54150
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| .NETNuGet | CefSharp.Common | all versions | 116.0.230dotnet add package CefSharp.Common --version 116.0.230 |
| .NETNuGet | CefSharp.Common.NETCore | all versions | 116.0.230dotnet add package CefSharp.Common.NETCore --version 116.0.230 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for CefSharp.Common, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update CefSharp.Common to 116.0.230 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-j646-gj5p-p45g is resolved across your whole dependency graph.
Workarounds
Stop feeding it untrusted input: reject or quarantine files and payloads from unverified sources until you can upgrade, restrict accepted formats to the ones you actually need, and run the parsing or decoding step in a least-privileged sandbox or short-lived worker so a crash or corrupted read cannot reach the rest of the process.
Frequently Asked Questions
Is GHSA-j646-gj5p-p45g in your dependencies?
Find it across NuGet, including transitive dependencies.