CVE-2020-36846

CRITICALNVD 9.89.8—
EchelonGraph scoreMEDIUM confidence

Score 9.8 from GitHub Security Advisory (severity: CRITICAL) published 2025-05-30. NVD baseline CVSS 9.8; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, nvd
9.8EG
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: 0.6%CVSS: 9.8Exploit: None knownExposed services: Not assessed

A fix is available — apply it.

A buffer overflow, as described in CVE-2020-8927, exists in the embedded Brotli library.  Versions of IO::Compress::Brotli prior to 0.007 included a version of the brotli library prior to version 1.0.8, where an attacker controlling the input length of a "one-shot" decompression request to a script can trigger a crash, which happens when copying over chunks of data larger than 2 GiB. It is recommended to update your IO::Compress::Brotli module to 0.007 or later. If one cannot update, we recommend to use the "streaming" API as opposed to the "one-shot" API, and impose chunk size limits.

CVSS v3
9.8
EG Score
9.8CRITICALmedium confidence
EG Risk
59
EG Risk 59/100CISA SSVC

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity98% × 45%
Exploitation1% × 40%
Automatability100% × 15%
CISA SSVC: Track at low or medium mission impact; Attend at high (mission-essential systems).
Action: A fix is available. Apply it within your standard update timelines at low or medium mission impact and sooner than that at high.
EPSS PROB
0.6%
EPSS %ILE
48th
KEV
Not listed

CISA SSVCTrack at low or medium mission impact; Attend at high (mission-essential systems).

A fix is available. Apply it within your standard update timelines at low or medium mission impact and sooner than that at high.

Exploitation none (CISA Vulnrichment) · Automatable yes (CISA Vulnrichment) · Technical impact total (CISA Vulnrichment). Mission impact is CISA's Mission & Well-being decision point, and only you can judge it: high means the affected system is essential to your organisation's mission, or its compromise could cause irreversible harm to people. CISA's decision table

Published

May 30, 2025

Last Modified

April 15, 2026

Advisory Details (4)

Auto-updated Oct 8, 2026
Patch available. Sources: github, github_commit, github_pr.
generic

perl-IO-Compress-Brotli/Changes at 8b44c83b23bb4658179e1494af4b725a1bc476bc · timlegge/perl-IO-Compress-Brotli · GitHub

https://github.com/timlegge/perl-IO-Compress-Brotli/blob/8b44c83b23bb4658179e1494af4b725a1bc476bc/Changes#L52
github_pr Patch Available

Update

Patch available: google/brotli v1.0.8 (PR #826 merged 2020-08-26)

https://github.com/google/brotli/pull/826
github_commit Patch Available

commit 223d80cfbec8 (google/brotli)

Patch available: google/brotli v1.0.8 (contains commit 223d80cfbec8)

https://github.com/google/brotli/commit/223d80cfbec8fd346e32906c732c8ede21f0cea6
githubMentions a patch (unverified)

Integer overflow in the bundled Brotli C library · CVE-2020-8927 · GitHub Advisory Database · GitHub

https://github.com/advisories/GHSA-5v8v-66v8-mwm7

Affected Packages

(50 across 4 ecosystems)
NuGet(46)
PackageVulnerable rangeFix by version rangeDependents
Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-arm6.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-arm646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-x646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-x866.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.browser-wasm6.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm6.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x866.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.browser-wasm6.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm6.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-arm646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x866.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-arm646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-x646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvos-arm646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-arm646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-x646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm6.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm64.Msi.x646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm.Msi.x646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x64.Msi.x646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x866.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x86.Msi.x646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm6.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm.Msi.x646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.browser-wasm5.0.0 ... 5.0.9 (15 versions)
  • 5.0.0 up to 5.0.15: fixed in 5.0.15
—
Microsoft.NETCore.App.Runtime.linux-arm6.0.0, 6.0.1, 6.0.2
  • 3.0.0 up to 3.1.23: fixed in 3.1.23
  • 5.0.0 up to 5.0.15: fixed in 5.0.15
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.linux-arm646.0.0, 6.0.1, 6.0.2
  • 3.0.0 up to 3.1.23: fixed in 3.1.23
  • 5.0.0 up to 5.0.15: fixed in 5.0.15
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.linux-musl-arm6.0.0, 6.0.1, 6.0.2
  • 5.0.0 up to 5.0.15: fixed in 5.0.15
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.linux-musl-arm646.0.0, 6.0.1, 6.0.2
  • 3.0.0 up to 3.1.23: fixed in 3.1.23
  • 5.0.0 up to 5.0.15: fixed in 5.0.15
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.linux-musl-x646.0.0, 6.0.1, 6.0.2
  • 5.0.0 up to 5.0.15: fixed in 5.0.15
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.linux-x646.0.0, 6.0.1, 6.0.2
  • 3.0.0 up to 3.1.23: fixed in 3.1.23
  • 5.0.0 up to 5.0.15: fixed in 5.0.15
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.Mono.android-arm6.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.Mono.android-arm646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.Mono.android-arm64.Msi.arm646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.Mono.android-arm64.Msi.x646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.Mono.android-arm64.Msi.x866.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.Mono.android-arm.Msi.arm646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.Mono.android-arm.Msi.x646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.Mono.android-arm.Msi.x866.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
Microsoft.NETCore.App.Runtime.Mono.android-x646.0.0, 6.0.1, 6.0.2
  • 6.0.0 up to 6.0.3: fixed in 6.0.3
—
crates.io(2)
PackageVulnerable rangeFix by version rangeDependents
brotli-sys—
  • 0.0.0-0 on: no fix on record
—
compu-brotli-sys—
  • every version up to 1.0.9: fixed in 1.0.9
  • 0.0.0-0 up to 1.0.9: fixed in 1.0.9
—
Go(1)
PackageVulnerable rangeFix by version rangeDependents
github.com/google/brotli—
  • every version on: no fix on record
—
PyPI(1)
PackageVulnerable rangeFix by version rangeDependents
brotli0.5.2 ... 1.0.7 (6 versions)
  • every version up to 1.0.8: fixed in 1.0.8
—

Data Freshness Timeline

(refreshed 8× in last 7d / 27× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

Showing the most recent 100 of 207 total refreshes for this CVE.

  1. 2026-10-09 20:04 UTCEPSS rescore
  2. 2026-10-08 16:38 UTCEPSS rescore
  3. 2026-10-07 23:44 UTCEPSS rescore
  4. 2026-10-06 15:13 UTCEPSS rescore
  5. 2026-10-05 17:39 UTCEPSS rescore
  6. 2026-10-04 23:18 UTCEPSS rescore
  7. 2026-10-03 14:22 UTCEPSS rescore
  8. 2026-10-03 08:09 UTCOSV refresh
  9. 2026-09-30 15:19 UTCEG score recompute
  10. 2026-09-30 14:59 UTCEPSS rescore
  11. 2026-09-29 15:14 UTCEPSS rescore
  12. 2026-09-27 13:41 UTCEPSS rescore
  13. 2026-09-26 15:54 UTCEPSS rescore
  14. 2026-09-26 15:54 UTCEPSS rescore
  15. 2026-09-24 14:00 UTCEPSS rescore
  16. 2026-09-22 14:43 UTCEPSS rescore
  17. 2026-09-21 20:28 UTCEPSS rescore
  18. 2026-09-20 20:11 UTCEPSS rescore
  19. 2026-09-19 15:37 UTCEPSS rescore
  20. 2026-09-18 19:23 UTCEPSS rescore
  21. 2026-09-17 19:22 UTCEPSS rescore
  22. 2026-09-16 14:04 UTCEPSS rescore
  23. 2026-09-15 03:06 UTCEPSS rescore
  24. 2026-09-14 03:50 UTCOSV refresh
  25. 2026-09-13 16:43 UTCEPSS rescore
Show 75 more
  1. 2026-09-12 14:57 UTCEPSS rescore
  2. 2026-09-11 09:32 UTCEPSS rescore
  3. 2026-09-08 21:56 UTCEPSS rescore
  4. 2026-09-07 15:57 UTCEPSS rescore
  5. 2026-09-06 13:44 UTCEPSS rescore
  6. 2026-09-05 15:24 UTCEPSS rescore
  7. 2026-09-04 13:57 UTCEPSS rescore
  8. 2026-09-04 05:03 UTCEPSS rescore
  9. 2026-09-02 14:08 UTCEPSS rescore
  10. 2026-09-01 03:32 UTCEPSS rescore
  11. 2026-08-30 19:14 UTCEPSS rescore
  12. 2026-08-30 01:18 UTCEPSS rescore
  13. 2026-08-27 14:21 UTCEPSS rescore
  14. 2026-08-26 14:42 UTCEPSS rescore
  15. 2026-08-26 05:10 UTCOSV refresh
  16. 2026-08-25 13:45 UTCEPSS rescore
  17. 2026-08-21 23:45 UTCEPSS rescore
  18. 2026-08-20 22:52 UTCEPSS rescore
  19. 2026-08-19 17:00 UTCEPSS rescore
  20. 2026-08-18 13:44 UTCEPSS rescore
  21. 2026-08-17 13:43 UTCEPSS rescore
  22. 2026-08-16 14:52 UTCEPSS rescore
  23. 2026-08-16 02:11 UTCEPSS rescore
  24. 2026-08-15 01:26 UTCEPSS rescore
  25. 2026-08-13 21:57 UTCEPSS rescore
  26. 2026-08-12 13:47 UTCEPSS rescore
  27. 2026-08-09 21:40 UTCOSV refresh
  28. 2026-08-09 13:43 UTCEPSS rescore
  29. 2026-08-08 16:33 UTCEPSS rescore
  30. 2026-08-07 16:23 UTCEPSS rescore
  31. 2026-08-06 13:43 UTCEPSS rescore
  32. 2026-08-04 15:06 UTCEPSS rescore
  33. 2026-08-04 10:34 UTCEPSS rescore
  34. 2026-08-02 02:23 UTCEPSS rescore
  35. 2026-08-01 04:12 UTCEPSS rescore
  36. 2026-07-30 16:25 UTCEPSS rescore
  37. 2026-07-30 01:27 UTCEPSS rescore
  38. 2026-07-28 15:33 UTCEPSS rescore
  39. 2026-07-26 14:51 UTCEPSS rescore
  40. 2026-07-25 14:15 UTCEPSS rescore
  41. 2026-07-24 22:41 UTCOSV refresh
  42. 2026-07-24 14:14 UTCEPSS rescore
  43. 2026-07-23 14:15 UTCEPSS rescore
  44. 2026-07-23 14:15 UTCEPSS rescore
  45. 2026-07-23 01:53 UTCEG score recompute
  46. 2026-07-22 22:39 UTCEG score recompute
  47. 2026-07-22 14:05 UTCEPSS rescore
  48. 2026-07-21 15:22 UTCEPSS rescore
  49. 2026-07-21 15:22 UTCEPSS rescore
  50. 2026-07-20 17:04 UTCEPSS rescore
  51. 2026-07-20 17:04 UTCEPSS rescore
  52. 2026-07-19 14:28 UTCEPSS rescore
  53. 2026-07-19 14:28 UTCEPSS rescore
  54. 2026-07-19 02:26 UTCEPSS rescore
  55. 2026-07-19 02:26 UTCEPSS rescore
  56. 2026-07-16 16:59 UTCEPSS rescore
  57. 2026-07-15 16:55 UTCEPSS rescore
  58. 2026-07-15 16:55 UTCEPSS rescore
  59. 2026-07-15 01:57 UTCEPSS rescore
  60. 2026-07-13 22:27 UTCEPSS rescore
  61. 2026-07-13 22:27 UTCEPSS rescore
  62. 2026-07-13 06:10 UTCEPSS rescore
  63. 2026-07-13 06:10 UTCEPSS rescore
  64. 2026-07-12 05:44 UTCEPSS rescore
  65. 2026-07-11 08:25 UTCEPSS rescore
  66. 2026-07-11 08:25 UTCEPSS rescore
  67. 2026-07-09 19:07 UTCEPSS rescore
  68. 2026-07-08 15:12 UTCEPSS rescore
  69. 2026-07-07 17:41 UTCOSV refresh
  70. 2026-07-07 13:43 UTCEPSS rescore
  71. 2026-07-06 16:25 UTCEPSS rescore
  72. 2026-07-06 16:25 UTCEPSS rescore
  73. 2026-07-06 02:21 UTCEPSS rescore
  74. 2026-07-06 02:21 UTCEPSS rescore
  75. 2026-07-04 06:29 UTCEPSS rescore

Frequently asked(5)

What is CVE-2020-36846?
CVE-2020-36846 is a critical vulnerability published on May 30, 2025. A buffer overflow, as described in CVE-2020-8927, exists in the embedded Brotli library. Versions of IO::Compress::Brotli prior to 0.007 included a version of the brotli library prior to version 1.0.8, where an attacker controlling the input length of a "one-shot" decompression request to a script…
When was CVE-2020-36846 disclosed?
CVE-2020-36846 was first published on May 30, 2025, with the most recent update on April 15, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2020-36846 actively exploited?
CVE-2020-36846 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0.6% probability of exploitation in the next 30 days (48th percentile of EPSS-scored CVEs).
What is the CVSS score of CVE-2020-36846?
CVE-2020-36846 has a CVSS v3 base score of 9.8 (NVD).
How do I remediate CVE-2020-36846?
A fix for CVE-2020-36846 is available: update to the fixed version the vendor names in its advisory.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2020-36846

Explore →

Is Your Infrastructure Affected by CVE-2020-36846?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.