CVE-2022-41725 json
Excessive resource consumption in mime/multipart
published 2023-02-21 3 y ago modified 2026-09-08 2 mo ago also BIT-golang-2022-41725 , EUVD-2022-44897 , GO-2023-1569
- cvss
- 7.5
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.2%
- EPSS 1.2% chance of exploitation in 30 days, percentile 69%
- public exploits
- 0
- none known
Summary
A denial of service is possible from excessive resource consumption in net/http and mime/multipart. Multipart form parsing with mime/multipart.Reader.ReadForm can consume largely unlimited amounts of memory and disk files. This also affects form parsing in the net/http package with the Request methods FormFile, FormValue, ParseMultipartForm, and PostFormValue. ReadForm takes a maxMemory parameter, and is documented as storing "up to maxMemory bytes +10MB (reserved for non-file parts) in memory". File parts which cannot be stored in memory are stored on disk in temporary files. The unconfigurable 10MB reserved for non-file parts is excessively large and can potentially open a denial of service vector on its own. However, ReadForm did not properly account for all memory consumed by a parsed form, such as map entry overhead, part names, and MIME headers, permitting a maliciously crafted form to consume well over 10MB. In addition, ReadForm contained no limit on the number of disk files created, permitting a relatively small request body to create a large number of disk temporary files. With fix, ReadForm now properly accounts for various forms of memory overhead, and should now stay within its documented limit of 10MB + maxMemory bytes of memory consumption. Users should still be aware that this limit is high and may still be hazardous. In addition, ReadForm now creates at most one on-disk temporary file, combining multiple form parts into a single temporary file. The mime/multipart.File interface type's documentation states, "If stored on disk, the File's underlying concrete type will be an *os.File.". This is no longer the case when a form contains more than one file part, due to this coalescing of parts into a single file. The previous behavior of using distinct files for each form part may be reenabled with the environment variable GODEBUG=multipartfiles=distinct. Users should be aware that multipart.ReadForm and the http.Request methods that call it do not limit the amount of disk consumed by temporary files. Callers can limit the size of form data with http.MaxBytesReader.
Patch / fix
- bitnami golang 1.19.6, 1.20.1
- go stdlib 1.19.6, 1.20.1
- Go standard library mime/multipart 1.19.6, 1.20.1
- golang-1.19 Debian 12 1.19.6-2
debian advisories DEBIAN-CVE-2022-41725
- golang-1.17 Ubuntu 22.04 LTS 1.17.13-3ubuntu1.3
- golang-1.18 Ubuntu 20.04 LTS 1.18.1-1ubuntu1~20.04.3
- golang-1.18 Ubuntu 22.04 LTS 1.18.1-1ubuntu1.2
- golang-1.18 Ubuntu Pro 16.04 LTS 1.18.1-1ubuntu1~16.04.6+esm1
- golang-1.18 Ubuntu Pro 18.04 LTS 1.18.1-1ubuntu1~18.04.4+esm1
ubuntu advisories UBUNTU-CVE-2022-41725
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- crit RHEL 8 3.15-3.module+el8.9.0+19243+df4d9ff2
- criu RHEL 8 3.15-3.module+el8.9.0+19243+df4d9ff2
- crun RHEL 8 1.8.3-1.module+el8.9.0+19098+6e7a5e3f
- runc RHEL 8 1:1.1.5-2.module+el8.9.0+19104+fcef53a3
- udica RHEL 8 0.2.6-4.module+el8.9.0+19098+6e7a5e3f
- conmon RHEL 8 2:2.1.4-2.module+el8.9.0+19098+6e7a5e3f
- podman RHEL 8 2:4.0.2-24.module+el8.9.0+19784+443be299
- skopeo RHEL 8 2:1.6.2-8.module+el8.9.0+19104+fcef53a3
red hat advisories RHSA-2023:6938RHSA-2023:6939RHSA-2023:3083RHSA-2023:5964RHSA-2023:6473RHSA-2023:6474
- go1.18-openssl SLES for SAP 15 SP3, SLES 15 SP3-LTSS, SLE Real Time 15 SP3 +6 more 1.18.10.1-150000.1.9.1
- container-suseconnect SLES for SAP 15 SP3, SLES for SAP 15 SP2, SLES for SAP 15 SP1 +10 more 2.4.0-150000.4.24.1
- go1.18 SLES for SAP 15 SP3, SLES 15 SP3-LTSS, SLE Real Time 15 SP3 +5 more 1.18.10-150000.1.46.1
- go1.20 SLE Module for Development Tools 15 SP4, openSUSE Leap 15.4 1.20.2-150000.1.5.1
- go1.19 SLES for SAP 15 SP3, SLES 15 SP3-LTSS, SLE Real Time 15 SP3 +5 more 1.19.7-150000.1.23.1
suse advisories SUSE-SU-2023:2312-1SUSE-SU-2023:0871-1SUSE-SU-2023:0869-1SUSE-SU-2023:0735-1SUSE-SU-2023:0733-1
- go1.19 openSUSE Tumbleweed 1.19.6-1.1
- go1.20 openSUSE Tumbleweed 1.20.1-1.1
- go1.18 openSUSE Tumbleweed 1.18.10-1.1
opensuse advisories openSUSE-SU-2024:12707-1openSUSE-SU-2024:12708-1openSUSE-SU-2024:12798-1
- crit AlmaLinux 8 3.15-3.module_el8.6.0+3137+d33c3efb
- crit AlmaLinux 8 3.15-3.module_el8.6.0+2877+8e437bf5
- criu AlmaLinux 8 3.15-3.module_el8.6.0+2877+8e437bf5
- criu AlmaLinux 8 3.15-3.module_el8.6.0+3137+d33c3efb
- crun AlmaLinux 8 1.8.3-1.module_el8.9.0+3627+db8ec155
- runc AlmaLinux 8 1:1.1.5-2.module_el8.9.0+3627+db8ec155
- udica AlmaLinux 8 0.2.6-4.module_el8.9.0+3627+db8ec155
- conmon AlmaLinux 8 2:2.1.4-2.module_el8.9.0+3627+db8ec155
almalinux advisories ALSA-2023:6938ALSA-2023:6939ALSA-2023:6346ALSA-2023:6363ALSA-2023:6402ALSA-2023:6473
- criu Rocky Linux 8 3.15-3.module+el8.9.0+1445+07728297
- crun Rocky Linux 8 1.8.3-1.module+el8.9.0+1445+07728297
- runc Rocky Linux 8 1:1.1.5-2.module+el8.9.0+1445+07728297
- udica Rocky Linux 8 0.2.6-4.module+el8.9.0+1445+07728297
- conmon Rocky Linux 8 2:2.1.4-2.module+el8.9.0+1445+07728297
- podman Rocky Linux 8 2:4.0.2-24.module+el8.9.0+1445+07728297
- buildah Rocky Linux 8 1:1.24.6-7.module+el8.9.0+1445+07728297
- libslirp Rocky Linux 8 4.4.0-1.module+el8.9.0+1445+07728297
rocky linux advisories RLSA-2023:6938RLSA-2023:6939RLSA-2023:3083
- go Alpine 3.17 1.19.6-r0
- go Alpine 3.24, Alpine 3.23, Alpine 3.22 +4 more 1.20.1-r0
alpine advisories ALPINE-CVE-2022-41725
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- golang CBL-Mariner 2.0, Azure Linux 3.0 1.19.5-1
- msft-golang CBL-Mariner 2.0 1.19.6-1
- golang CBL-Mariner 2.0 1.21.6-1
azure linux advisories AZL-13732AZL-13739AZL-34761AZL-37334AZL-37487
Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT
- go.dev/cl/468124 patch
- go.dev/issue/58006 advisory
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2022-41725 updated cvss 7.5
golang: net/http, mime/multipart: denial of service from excessive resource consumption
-
Red Hat Node HealthCheck Operator workload-availability/node-healthcheck-rhel8-operator Red Hat Node Maintenance Operator workload-availability/node-maintenance-rhel8-operatoraffected: no fix available
-
Red Hat OpenShift Developer Tools and Services odo, helm, ocp-tools-4/jenkins-rhel8affected: no fix available, no fix planned “Will not fix”
-
Red Hat OpenShift Pipelines openshift-pipelines-clientaffected: no fix planned “Will not fix”
-
Red Hat OpenShift Serverless knative-serving knative-serving, openshift-serverless-1/kn-eventing-apiserver-receive-adapter-rhel9 Red Hat OpenShift Service Mesh 2 openshift-golang-builder-container Red Hat 3scale API Management Platform 2 3scale-amp26/3scale-operator Red Hat Advanced Cluster Management for Kubernetes 2 rhacm2/thanos-rhel7 Red Hat Advanced Cluster Security 3 advanced-cluster-security/rhacs-main-rhel8 Red Hat AMQ Broker 7 ansible-automation-platform-24/controller-rhel8-operatoraffected: no fix available
+2 more productsfewer
Red Hat Ansible Automation Platform 2 receptor Red Hat Application Interconnect 1.0 skupper-cli -
Red Hat Ceph Storage 3 golang, golang-bin, golang-srcaffected: no fix planned “Out of support scope”
-
Red Hat Ceph Storage 5 rhceph/rhceph-5-dashboard-rhel8affected: no fix available
-
Red Hat Enterprise Linux 8 podman, skopeo, buildah, git-lfs, toolbox, podman-tests, +16 moreaffected: no fix available, no fix planned “Will not fix”
-
Red Hat Enterprise Linux 9 git-lfs, ignition, weldr-client, ignition-edge, ignition-grub, osbuild-composer, +4 moreaffected: no fix planned “Will not fix”
show 16 moreshow fewer
-
Red Hat OpenShift Container Platform 4 containernetworking-plugins Red Hat Openshift Data Foundation 4 mcg Red Hat OpenShift Data Science (RHODS) rhods/odh-mm-rest-proxy-rhel8 Red Hat OpenShift Dev Spaces devspaces/udi-rhel8 Red Hat OpenShift distributed tracing 2 rhosdt/jaeger-agent-rhel8 Red Hat OpenShift GitOps openshift-gitops-kam, openshift-gitops-1/gitops-rhel8affected: no fix available
-
Red Hat OpenShift on AWS rosaaffected: no fix planned “Will not fix”
-
Red Hat Openshift Sandboxed Containers openshift-sandboxed-containers/osc-rhel8-operator Red Hat OpenShift Virtualization 4 openshift-golang-builder-containeraffected: no fix available
-
Red Hat OpenStack Platform 17.0 collectd-libpod-statsaffected: no fix planned “Will not fix”
-
Red Hat Storage 3 golang, heketi, golang-bin, golang-src, golang-misc, golang-tests, +3 moreaffected: no fix planned “Out of support scope”
-
Red Hat Web Terminal web-terminal-exec-container Red Hat Self Node Remediation Operator workload-availability/self-node-remediation-rhel8-operatoraffected: no fix available
-
Red Hat Service Telemetry Framework 1.4 for RHEL 8 stf/sg-core-rhel8 Red Hat Service Telemetry Framework 1.5 stf/sg-core-rhel8affected: no fix planned “Will not fix”
-
Red Hat CNV 4.14 for RHEL 8 kubevirt 4.14.1-2150.el8, kubevirt-virtctl 4.14.1-2150.el8, kubevirt-virtctl-redistributable 4.14.1-2150.el8fixed: vendor fix RHSA-2023:7672
-
Red Hat CNV 4.14 for RHEL 9 container-native-virtualization/pr-helper-rhel9 v4.14.0-395, container-native-virtualization/mtq-operator-rhel9 v4.14.0-82, container-native-virtualization/mtq-controller-rhel9 v4.14.0-83, container-native-virtualization/mtq-lock-server-rhel9 v4.14.0-83, container-native-virtualization/virt-api-rhel9 v4.14.0--2023-113931, container-native-virtualization/kubemacpool-rhel9 v4.14.0--2023-113931, +34 morefixed: vendor fix RHSA-2023:6817
-
Red Hat Cryostat 2 on RHEL 8 cryostat-tech-preview/cryostat-rhel8 2.3.0-5, cryostat-tech-preview/jfr-datasource-rhel8 2.3.0-5, cryostat-tech-preview/cryostat-reports-rhel8 2.3.0-5, cryostat-tech-preview/cryostat-rhel8-operator 2.3.0-5, cryostat-tech-preview/cryostat-operator-bundle 2.3.0-5, cryostat-tech-preview/cryostat-grafana-dashboard-rhel8 2.3.0-5fixed: vendor fix RHSA-2023:3167
-
Red Hat Middleware Containers for OpenShift amq7/amq-broker-rhel8-operator 7.12.0-16, amq7/amq-broker-rhel8-operator-bundle 7.12.0-10fixed: vendor fix RHSA-2024:2944
-
Red Hat Migration Toolkit for Virtualization 2.4 migration-toolkit-virtualization/mtv-controller-rhel9 2.4.3-5fixed: vendor fix RHBA-2023:6109
-
Red Hat MTA 6.2 for RHEL 8 mta/mta-hub-rhel9 6.2.0-16fixed: vendor fix RHSA-2023:4627
-
Red Hat NETOBSERV 1.2 for RHEL 9 network-observability/network-observability-rhel9-operator v1.2.0-27fixed: vendor fix RHSA-2023:1817
-
Red Hat OpenShift API for Data Protection 1.1 oadp/oadp-velero-rhel8 1.1.3-5fixed: vendor fix RHSA-2023:1639
-
Red Hat OSSO 1.1 for RHEL 8 openshift-secondary-scheduler-operator/secondary-scheduler-operator-rhel8 v1.1-26fixed: vendor fix RHSA-2023:0584
13 more fixed, 23 more not affected in the full advisory
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 20 mo ago
Exploit prediction
1.24% chance of exploitation in the next 30 days, higher than 69% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| OSV | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| bitnami | golang | <1.19.6 >=1.20.0, <1.20.1 |
1.19.6 1.20.1 |
| go | stdlib | <1.19.6 >=1.20.0-0, <1.20.1 |
1.19.6 1.20.1 |
Affected products
- Go standard library mime/multipart
Classification
- Weakness
-
- CWE-770 Allocation of Resources Without Limits or Throttling
References
-
go.dev
/issue/58006
issue-tracking, patch, vendor-advisory, advisory, report
-
go.dev
/cl/468124
patch, release-notes
-
groups.google.com
/g/golang-announce/c/V0aBFqaFs_E
mailing-list, vendor-advisory, advisory, web
-
pkg.go.dev
/vuln/GO-2023-1569
vendor-advisory, advisory
-
security.gentoo.org
/glsa/202311-09
web
-
nvd.nist.gov
/vuln/detail/CVE-2022-41725
web
Sources
- CVE List CVE-2022-41725
- NVD CVE-2022-41725
- OSV BIT-golang-2022-41725
- OSV GO-2023-1569
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.