CVE-2022-32189 Panic when decoding Float and Rat types in math/big
Attackers can cause a denial of service by sending malformed encoded messages to applications using the Go math/big library.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2022-32189?
CVE-2022-32189 is a high-severity denial of service vulnerability in Golang Go, published on 9 Aug 2022. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
A too-short encoded message can cause a panic in Float.GobDecode and Rat GobDecode in math/big in Go before 1.17.13 and 1.18.5, potentially allowing a denial of service.
Which versions are affected by CVE-2022-32189?
2 open source packages ship an affected version, including golang and stdlib. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
golang Bitnami | All versions | 1.17.13, 1.18.5 |
stdlib Go | All versions | 1.17.13, 1.18.5 |
Linux distribution packages (22)
weldr-client AlmaLinux:8 | All versions | 35.5-4.el8 |
weldr-client AlmaLinux:9 | All versions | 35.5-4.el9 |
weldr-client Red Hat:enterprise_linux:8::appstream | All versions | 0:35.5-4.el8 |
weldr-client-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 0:35.5-4.el8 |
weldr-client-debugsource Red Hat:enterprise_linux:8::appstream | All versions | 0:35.5-4.el8 |
weldr-client-tests-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 0:35.5-4.el8 |
weldr-client Red Hat:enterprise_linux:9::appstream | All versions | 0:35.5-4.el9 |
weldr-client-debuginfo Red Hat:enterprise_linux:9::appstream | All versions | 0:35.5-4.el9 |
weldr-client-debugsource Red Hat:enterprise_linux:9::appstream | All versions | 0:35.5-4.el9 |
weldr-client-tests-debuginfo Red Hat:enterprise_linux:9::appstream | All versions | 0:35.5-4.el9 |
butane Red Hat:openshift:4.11::el8 | All versions | 0:0.15.0-3.rhaos4.11.el8 |
butane-debuginfo Red Hat:openshift:4.11::el8 | All versions | 0:0.15.0-3.rhaos4.11.el8 |
butane-debugsource Red Hat:openshift:4.11::el8 | All versions | 0:0.15.0-3.rhaos4.11.el8 |
butane-redistributable Red Hat:openshift:4.11::el8 | All versions | 0:0.15.0-3.rhaos4.11.el8 |
cockpit-composer Rocky Linux:8 | All versions | 0:41-1.el8 |
osbuild Rocky Linux:8 | All versions | 0:65-1.el8.rocky.0.1 |
weldr-client Rocky Linux:8 | All versions | 0:35.5-4.el8 |
cockpit-composer Rocky Linux:9 | All versions | 0:41-1.el9 |
osbuild Rocky Linux:9 | All versions | 0:65-1.el9.rocky.0.1 |
weldr-client Rocky Linux:9 | All versions | 0:35.5-4.el9 |
go1.17 openSUSE:Tumbleweed | All versions | 1.17.13-1.1 |
go1.18 openSUSE:Tumbleweed | All versions | 1.18.5-1.1 |
Products include Golang Go.
How do I fix CVE-2022-32189?
Upgrade golang to a fixed version for your release line: 1.17.13 or 1.18.5.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2022-32189 being exploited?
There is no known exploitation of CVE-2022-32189 in the wild and no public exploit code.
Other vulnerabilities in Golang Go
- CVE-2020-0601 Microsoft Windows CryptoAPI Spoofing
- CVE-2026-27143 Missing bound checks can lead to memory corruption in safe Go in cmd/compile
- CVE-2024-24790 Unexpected behavior from Is methods for IPv4-mapped IPv6 addresses in net/netip
- CVE-2023-39320 Arbitrary code execution via go.mod toolchain directive in cmd/go
- CVE-2023-24540 Improper handling of JavaScript whitespace in html/template
Sources
Also known as ALSA-2022:7548, ALSA-2022:7950, AZL-10539, BIT-golang-2022-32189, DEBIAN-CVE-2022-32189, GHSA-3rm2-w8f7-h7rf and 11 more.