CVE-2020-15999 — CefSharp.Common
CRITICALCVE-2020-15999 is a critical-severity (CVSS 9.6) Out-of-bounds Write vulnerability in CefSharp.Common. It is in CISA's Known Exploited Vulnerabilities catalog (added 2021-11-03) — treat it as actively exploited and patch now. A fix is available for CefSharp.Common — see the affected versions and patch details below.
Heap buffer overflow in CefSharp
Exploitation Status
Actively exploited in the wild
- Confirmed by CISA's Known Exploited Vulnerabilities catalog on 2021-11-03. Federal agencies were required to remediate by 2021-11-17.
Exploitation and automatability from CISA (KEV catalog and SSVC triage) for CVE-2020-15999.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
CVE-2020-15999 by exploitation likelihood (EPSS) against impact (CVSS). In the shaded patch-first corner (EPSS 50%+, CVSS 7.0+).
Where this sits among everything scored
Of 395,249 CVEs with a current EPSS score, this one falls in the 50–90% band (highlighted). Counts from FIRST.org, log-scaled.
Real-World Exposure
CefSharp.Common.NETCefSharp.Wpf.NETCefSharp.WinForms.NETCefSharp.Wpf.HwndHostReal-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
Impact
A memory corruption bug(Heap overflow) in the FreeType font rendering library.
This can be exploited by attackers to execute arbitrary code by using specially crafted fonts with embedded PNG images .
As per https://www.secpod.com/blog/chrome-zero-day-under-active-exploitation-patch-now/
Google is aware of reports that an exploit for CVE-2020-15999 exists in the wild.
Patches
Upgrade to 85.3.130 or higher
References
- https://www.secpod.com/blog/chrome-zero-day-under-active-exploitation-patch-now/
- https://www.zdnet.com/article/google-releases-chrome-security-update-to-patch-actively-exploited-zero-day/
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15999
- https://magpcss.org/ceforum/viewtopic.php?f=10&t=17942
To review the CEF/Chromium patch see https://bitbucket.org/chromiumembedded/cef/commits/cd6cbe008b127990036945fb75e7c2c1594ab10d
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| .NETNuGet | CefSharp.Common | all versions | 85.3.130dotnet add package CefSharp.Common --version 85.3.130 |
| .NETNuGet | CefSharp.Wpf | all versions | 85.3.130dotnet add package CefSharp.Wpf --version 85.3.130 |
| .NETNuGet | CefSharp.WinForms | all versions | 85.3.130dotnet add package CefSharp.WinForms --version 85.3.130 |
| .NETNuGet | CefSharp.Wpf.HwndHost | all versions | 85.3.130dotnet add package CefSharp.Wpf.HwndHost --version 85.3.130 |
Affected Products
debian linuxdebianfedorafedoraprojectfreetypefreetypechromegoogleontap select deploy administration utilitynetappbackports sleopensuseResearch use only. For defensive security, authorized penetration testing, and academic research only. Never execute exploit code against systems without explicit written authorization.
Heap buffer overflow in Freetype in Google Chrome prior to 86.0.4240.111…
Heap buffer overflow in Freetype in Google Chrome prior to 86.0.4240.111…
Heap buffer overflow in Freetype in Google Chrome prior to 86.0.4240.111…
Heap buffer overflow in Freetype in Google Chrome prior to 86.0.4240.111…
Heap buffer overflow in Freetype in Google Chrome prior to 86.0.4240.111…
Heap buffer overflow in Freetype in Google Chrome prior to 86.0.4240.111…
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 85.3.130 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2020-15999 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.
Fixing This On Your OS
If you run this on a Linux distribution, patch through your package manager against the distro's own security advisory below — it tracks the exact backported fix for your release, which can ship on a different timeline (and sometimes a different severity) than the upstream project.
Although firefox and thunderbird, as shipped with Red Hat Enterprise Linux 6, bundle a version (2.4.11) of freetype in gtk3-private, the version is not affected by this flaw because the vulnerable code was introduced in a subsequent version of freetype. The freetype package shipped with Red Hat Enterprise Linux 5 and…
Red Hat has investigated whether a possible mitigation exists for this issue, and has not been able to identify a practical example. Please update as soon as possible.Source: Red Hat security advisory for CVE-2020-15999 (CC BY 4.0)
| Product | Fixed in | Advisory |
|---|---|---|
| Red Hat Enterprise Linux 6 Supplementary | chromium-browser-0:86.0.4240.111-1.el6_10 | RHSA-2020:4351 |
| Red Hat Enterprise Linux 7 | freetype-0:2.8-14.el7_9.1 | RHSA-2020:4907 |
| Red Hat Enterprise Linux 8 | freetype-0:2.9.1-4.el8_3.1 | RHSA-2020:4952 |
| Red Hat Enterprise Linux 8.0 Update Services for SAP Solutions | freetype-0:2.9.1-4.el8_0.1 | RHSA-2020:4949 |
| Red Hat Enterprise Linux 8.1 Extended Update Support | freetype-0:2.9.1-4.el8_1.1 | RHSA-2020:4950 |
| Red Hat Enterprise Linux 8.2 Extended Update Support | freetype-0:2.9.1-4.el8_2.1 | RHSA-2020:4951 |
Frequently Asked Questions
Is CVE-2020-15999 in your dependencies?
Find it across NuGet, including transitive dependencies.