CVE-2021-3121 Improper Input Validation in GoGo Protobuf
Attackers can exploit missing index validation in GoGo Protobuf to cause memory corruption, potentially leading to code execution or denial of service.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2021-3121?
CVE-2021-3121 is a high-severity memory corruption vulnerability in n/a, published on 11 Jan 2021. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
An issue was discovered in GoGo Protobuf before 1.3.2. plugin/unmarshal/unmarshal.go lacks certain index validation, aka the "skippy peanut butter" issue.
Weakness: CWE-129
Which versions are affected by CVE-2021-3121?
5 open source packages ship an affected version, including github.com/gogo/protobuf, consul and protobuf. It affects 2 products.
| Package | Affected | Fixed in |
|---|---|---|
github.com/gogo/protobuf Go | All versions | 1.3.2 |
github.com/gogo/protobuf Go | All versions | 1.3.2 |
github.com/gogo/protobuf Go | All versions | 1.3.2 |
consul Bitnami | All versions | 1.8.15, 1.9.9, 1.10.2 |
protobuf Bitnami | All versions | 1.3.2 |
Linux distribution packages (15)
kubernetes1.18 SUSE:Enterprise Storage 7.1 | All versions | 1.18.20-150200.5.25.1 |
kubernetes1.18 SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | All versions | 1.18.20-150200.5.25.1 |
kubernetes1.18 SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | All versions | 1.18.20-150200.5.25.1 |
kubernetes1.18 SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | All versions | 1.18.20-150200.5.25.1 |
kubernetes1.18 SUSE:Linux Enterprise Server 15 SP3-LTSS | All versions | 1.18.20-150200.5.25.1 |
kubernetes1.18 SUSE:Linux Enterprise Server 15 SP4-LTSS | All versions | 1.18.20-150200.5.25.1 |
kubernetes1.18 SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | All versions | 1.18.20-150200.5.25.1 |
kubernetes1.18 SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | All versions | 1.18.20-150200.5.25.1 |
kubernetes1.18 openSUSE:Leap 15.6 | All versions | 1.18.20-150200.5.25.1 |
kubernetes1.18 openSUSE:Tumbleweed | All versions | 1.18.20-1.2 |
kubernetes1.19 openSUSE:Tumbleweed | All versions | 1.19.15-1.1 |
kubernetes1.20 openSUSE:Tumbleweed | All versions | 1.20.11-1.1 |
kubernetes1.21 openSUSE:Tumbleweed | All versions | 1.21.5-1.1 |
velero openSUSE:Tumbleweed | All versions | 1.7.0-1.1 |
velero-plugin-for-aws openSUSE:Tumbleweed | All versions | 1.3.0-1.1 |
Products include Golang Protobuf, Hashicorp Consul.
How do I fix CVE-2021-3121?
Upgrade github.com/gogo/protobuf to 1.3.2 or later.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2021-3121 being exploited?
There is no known exploitation of CVE-2021-3121 in the wild and no public exploit code.
Sources
Also known as ALPINE-CVE-2021-3121, BIT-consul-2021-3121, BIT-protobuf-2021-3121, CLEANSTART-2025-UP04115, CLEANSTART-2026-DT87304, DEBIAN-CVE-2021-3121 and 10 more.