CVE-2022-32149 Denial of service via crafted Accept-Language header in golang.org/x/text/language

High 7.5 Published Updated

An attacker can cause a denial of service by sending a crafted Accept-Language header that consumes excessive CPU time during parsing.

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-32149?

CVE-2022-32149 is a high-severity denial of service vulnerability in golang.org/x/text/language, published on 14 Oct 2022. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

An attacker may cause a denial of service by crafting an Accept-Language header which ParseAcceptLanguage will take significant time to parse.

Weakness: CWE-772

Which versions are affected by CVE-2022-32149?

3 open source packages ship an affected version, including golang.org/x/text. It affects 1 product.

PackageAffectedFixed in
golang.org/x/text GoAll versions0.3.8
golang.org/x/text GoAll versions0.3.8
golang.org/x/text GoAll versions0.3.8
Linux distribution packages (37)
aardvark-dns Red Hat:rhel_eus:8.6::appstreamAll versions2:1.0.1-40.module+el8.6.0+21266+3e24c7b3
buildah Red Hat:rhel_eus:8.6::appstreamAll versions1:1.26.2-1.module+el8.6.0+21266+3e24c7b3
buildah-debuginfo Red Hat:rhel_eus:8.6::appstreamAll versions1:1.26.2-1.module+el8.6.0+21266+3e24c7b3
buildah-debugsource Red Hat:rhel_eus:8.6::appstreamAll versions1:1.26.2-1.module+el8.6.0+21266+3e24c7b3
buildah-tests Red Hat:rhel_eus:8.6::appstreamAll versions1:1.26.2-1.module+el8.6.0+21266+3e24c7b3
buildah-tests-debuginfo Red Hat:rhel_eus:8.6::appstreamAll versions1:1.26.2-1.module+el8.6.0+21266+3e24c7b3
cockpit-podman Red Hat:rhel_eus:8.6::appstreamAll versions0:49.1-1.module+el8.6.0+21266+3e24c7b3
conmon Red Hat:rhel_eus:8.6::appstreamAll versions2:2.1.4-1.module+el8.6.0+21266+3e24c7b3
conmon-debuginfo Red Hat:rhel_eus:8.6::appstreamAll versions2:2.1.4-1.module+el8.6.0+21266+3e24c7b3
conmon-debugsource Red Hat:rhel_eus:8.6::appstreamAll versions2:2.1.4-1.module+el8.6.0+21266+3e24c7b3
container-selinux Red Hat:rhel_eus:8.6::appstreamAll versions2:2.189.0-1.module+el8.6.0+21266+3e24c7b3
containernetworking-plugins Red Hat:rhel_eus:8.6::appstreamAll versions1:1.1.1-4.module+el8.6.0+21266+3e24c7b3
containernetworking-plugins-debuginfo Red Hat:rhel_eus:8.6::appstreamAll versions1:1.1.1-4.module+el8.6.0+21266+3e24c7b3
containernetworking-plugins-debugsource Red Hat:rhel_eus:8.6::appstreamAll versions1:1.1.1-4.module+el8.6.0+21266+3e24c7b3
containers-common Red Hat:rhel_eus:8.6::appstreamAll versions2:1-40.module+el8.6.0+21266+3e24c7b3
crit Red Hat:rhel_eus:8.6::appstreamAll versions0:3.15-3.module+el8.6.0+21266+3e24c7b3
criu Red Hat:rhel_eus:8.6::appstreamAll versions0:3.15-3.module+el8.6.0+21266+3e24c7b3
criu-debuginfo Red Hat:rhel_eus:8.6::appstreamAll versions0:3.15-3.module+el8.6.0+21266+3e24c7b3
criu-debugsource Red Hat:rhel_eus:8.6::appstreamAll versions0:3.15-3.module+el8.6.0+21266+3e24c7b3
criu-devel Red Hat:rhel_eus:8.6::appstreamAll versions0:3.15-3.module+el8.6.0+21266+3e24c7b3
criu-libs Red Hat:rhel_eus:8.6::appstreamAll versions0:3.15-3.module+el8.6.0+21266+3e24c7b3
criu-libs-debuginfo Red Hat:rhel_eus:8.6::appstreamAll versions0:3.15-3.module+el8.6.0+21266+3e24c7b3
crun Red Hat:rhel_eus:8.6::appstreamAll versions0:1.5-1.module+el8.6.0+21266+3e24c7b3
crun-debuginfo Red Hat:rhel_eus:8.6::appstreamAll versions0:1.5-1.module+el8.6.0+21266+3e24c7b3
crun-debugsource Red Hat:rhel_eus:8.6::appstreamAll versions0:1.5-1.module+el8.6.0+21266+3e24c7b3
fuse-overlayfs Red Hat:rhel_eus:8.6::appstreamAll versions0:1.9-1.module+el8.6.0+21266+3e24c7b3
fuse-overlayfs-debuginfo Red Hat:rhel_eus:8.6::appstreamAll versions0:1.9-1.module+el8.6.0+21266+3e24c7b3
fuse-overlayfs-debugsource Red Hat:rhel_eus:8.6::appstreamAll versions0:1.9-1.module+el8.6.0+21266+3e24c7b3
libslirp Red Hat:rhel_eus:8.6::appstreamAll versions0:4.4.0-1.module+el8.6.0+21266+3e24c7b3
libslirp-debuginfo Red Hat:rhel_eus:8.6::appstreamAll versions0:4.4.0-1.module+el8.6.0+21266+3e24c7b3
libslirp-debugsource Red Hat:rhel_eus:8.6::appstreamAll versions0:4.4.0-1.module+el8.6.0+21266+3e24c7b3
libslirp-devel Red Hat:rhel_eus:8.6::appstreamAll versions0:4.4.0-1.module+el8.6.0+21266+3e24c7b3
netavark Red Hat:rhel_eus:8.6::appstreamAll versions2:1.0.1-40.module+el8.6.0+21266+3e24c7b3
oci-seccomp-bpf-hook Red Hat:rhel_eus:8.6::appstreamAll versions0:1.2.6-1.module+el8.6.0+21266+3e24c7b3
oci-seccomp-bpf-hook-debuginfo Red Hat:rhel_eus:8.6::appstreamAll versions0:1.2.6-1.module+el8.6.0+21266+3e24c7b3
oci-seccomp-bpf-hook-debugsource Red Hat:rhel_eus:8.6::appstreamAll versions0:1.2.6-1.module+el8.6.0+21266+3e24c7b3
podman Red Hat:rhel_eus:8.6::appstreamAll versions2:4.2.0-2.module+el8.6.0+21674+8010760f

Products include Golang Text.

How do I fix CVE-2022-32149?

Upgrade golang.org/x/text to 0.3.8 or later.

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-32149 being exploited?

There is no known exploitation of CVE-2022-32149 in the wild and no public exploit code.

Sources

Also known as AZL-31972, AZL-33565, AZL-33572, AZL-33575, AZL-33583, AZL-33586 and 34 more.

Is CVE-2022-32149 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free