Multipart form parsing can consume large amounts of CPU and memory when processing form inputs containing very large numbers of parts. This stems from several causes: 1. mime/multipart.Reader.ReadForm limits the total memory a parsed multipart form can consume. ReadForm can undercount the amount of memory consumed, leading it to accept larger inputs than intended. 2. Limiting total memory does not account for increased pressure on the garbage collector from large numbers of small allocations in forms with many parts. 3. ReadForm can allocate a large number of short-lived buffers, further increasing pressure on the garbage collector. The combination of these factors can permit an attacker to cause an program that parses multipart forms to consume large amounts of CPU and memory, potentially resulting in a denial of service. This affects programs that use mime/multipart.Reader.ReadForm, as well as form parsing in the net/http package with the Request methods FormFile, FormValue, ParseMultipartForm, and PostFormValue. With fix, ReadForm now does a better job of estimating the memory consumption of parsed forms, and performs many fewer short-lived allocations. In addition, the fixed mime/multipart.Reader imposes the following limits on the size of parsed forms: 1. Forms parsed with ReadForm may contain no more than 1000 parts. This limit may be adjusted with the environment variable GODEBUG=multipartmaxparts=. 2. Form parts parsed with NextPart and NextRawPart may contain no more than 10,000 header fields. In addition, forms parsed with ReadForm may contain no more than 10,000 header fields across all parts. This limit may be adjusted with the environment variable GODEBUG=multipartmaxheaders=.
CVSS Details
- CVSS 3.1 Base Score: 7.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade libslirp-develUpgrade skopeoUpgrade netavarkUpgrade skopeo-testsUpgrade podmanUpgrade podman-catatonitUpgrade criu-libsUpgrade fuse-overlayfsUpgrade python3-podmanUpgrade crunUpgrade runcUpgrade criuUpgrade toolboxUpgrade criu-develUpgrade oci-seccomp-bpf-hookUpgrade podman-remoteUpgrade containernetworking-pluginsUpgrade conmonUpgrade podman-pluginsUpgrade containers-commonUpgrade buildah-testsUpgrade cockpit-podmanUpgrade critUpgrade aardvark-dnsUpgrade container-selinuxUpgrade podman-gvproxyUpgrade podman-dockerUpgrade toolbox-testsUpgrade slirp4netnsUpgrade podman-testsUpgrade udicaUpgrade buildahUpgrade python3-criuUpgrade libslirp | Nov 16, 2023 | Apr 6, 2023 |
| Alpine Linux | — | Upgrade go | Aug 22, 2024 | Apr 6, 2023 |
| Amazon Linux Ami 2 | — | Upgrade golang-miscUpgrade golang-raceUpgrade golang-testsUpgrade golang-srcUpgrade golangUpgrade containerdUpgrade containerd-stressUpgrade golang-binUpgrade containerd-debuginfoUpgrade golang-sharedUpgrade golang-docs | Apr 21, 2023 | Apr 6, 2023 |
| Amazon_linux | — | Upgrade golang | Apr 21, 2023 | Apr 6, 2023 |
| Amazon_linux_2023 | — | Upgrade golang-sharedUpgrade golang-docsUpgrade golang-binUpgrade golang-srcUpgrade golangUpgrade golang-raceUpgrade golang-miscUpgrade golang-tests | Feb 17, 2025 | Apr 4, 2023 |
| Centos_linux | — | Upgrade udicaUpgrade containernetworking-plugins-debuginfoUpgrade skopeo-debugsourceUpgrade slirp4netns-debugsourceUpgrade golang-docsUpgrade critUpgrade podman-catatonitUpgrade toolbox-testsUpgrade podman-gvproxy-debuginfoUpgrade skopeo-testsUpgrade podman-plugins-debuginfoUpgrade delveUpgrade podman-debuginfoUpgrade podman-dockerUpgrade criuUpgrade podmanUpgrade podman-remoteUpgrade podman-debugsourceUpgrade golang-testsUpgrade toolbox-debugsourceUpgrade runc-debugsourceUpgrade libslirp-debugsourceUpgrade container-selinuxUpgrade libslirp-debuginfoUpgrade golang-binUpgrade criu-develUpgrade podman-pluginsUpgrade toolbox-debuginfoUpgrade delve-debugsourceUpgrade containernetworking-pluginsUpgrade skopeoUpgrade runcUpgrade criu-libs-debuginfoUpgrade oci-seccomp-bpf-hook-debuginfoUpgrade crunUpgrade python3-criuUpgrade slirp4netns-debuginfoUpgrade criu-libsUpgrade podman-catatonit-debuginfoUpgrade crun-debuginfoUpgrade fuse-overlayfs-debuginfoUpgrade containers-commonUpgrade crun-debugsourceUpgrade netavarkUpgrade cockpit-podmanUpgrade buildah-tests-debuginfoUpgrade oci-seccomp-bpf-hookUpgrade slirp4netnsUpgrade golangUpgrade conmonUpgrade buildah-debugsourceUpgrade buildahUpgrade runc-debuginfoUpgrade go-toolsetUpgrade oci-seccomp-bpf-hook-debugsourceUpgrade toolboxUpgrade skopeo-debuginfoUpgrade podman-testsUpgrade libslirp-develUpgrade conmon-debuginfoUpgrade aardvark-dnsUpgrade fuse-overlayfs-debugsourceUpgrade delve-debuginfoUpgrade podman-remote-debuginfoUpgrade criu-debuginfoUpgrade libslirpUpgrade golang-srcUpgrade golang-miscUpgrade fuse-overlayfsUpgrade criu-debugsourceUpgrade buildah-debuginfoUpgrade golang-raceUpgrade containernetworking-plugins-debugsourceUpgrade buildah-testsUpgrade conmon-debugsourceUpgrade podman-gvproxyUpgrade python3-podman | Oct 23, 2023 | Apr 6, 2023 |
| Debian | — | Upgrade golang-1.19 | Jul 30, 2024 | Apr 6, 2023 |
| Freebsd | — | Upgrade go120Upgrade go119 | Apr 14, 2023 | Apr 7, 2023 |
| Gentoo Linux | — | Upgrade dev-lang/go. | Nov 27, 2023 | Apr 6, 2023 |
| Huawei Euleros 2_0_sp10 | — | Upgrade golang-helpUpgrade golang-develUpgrade golang | Jul 18, 2023 | Apr 6, 2023 |
| Huawei Euleros 2_0_sp11 | — | Upgrade golangUpgrade golang-helpUpgrade golang-devel | Jan 10, 2024 | Apr 6, 2023 |
| Huawei Euleros 2_0_sp9 | — | Upgrade golangUpgrade golang-develUpgrade golang-help | Mar 18, 2025 | Apr 6, 2023 |
| Oracle_linux | — | Upgrade criu-libsUpgrade podman-testsUpgrade containernetworking-pluginsUpgrade podman-pluginsUpgrade libslirp-develUpgrade python3-podmanUpgrade oci-seccomp-bpf-hookUpgrade containers-commonUpgrade criu-develUpgrade conmonUpgrade crunUpgrade udicaUpgrade libslirpUpgrade criuUpgrade skopeo-testsUpgrade skopeoUpgrade podmanUpgrade netavarkUpgrade podman-catatonitUpgrade aardvark-dnsUpgrade runcUpgrade buildahUpgrade podman-gvproxyUpgrade buildah-testsUpgrade container-selinuxUpgrade cockpit-podmanUpgrade podman-remoteUpgrade critUpgrade python3-criuUpgrade podman-dockerUpgrade fuse-overlayfsUpgrade slirp4netns | Nov 16, 2023 | Apr 4, 2023 |
| Redhat Openshift | — | Upgrade microshiftUpgrade podmanUpgrade skopeoUpgrade cri-oUpgrade conmonUpgrade openshift-clients | Jun 15, 2023 | Apr 4, 2023 |
| Redhat_linux | — | Upgrade containernetworking-plugins-debuginfoUpgrade crun-debuginfoUpgrade slirp4netns-debugsourceUpgrade python3-criuUpgrade libslirp-develUpgrade crunUpgrade slirp4netns-debuginfoUpgrade podman-gvproxy-debuginfoUpgrade containers-commonUpgrade oci-seccomp-bpf-hookUpgrade slirp4netnsUpgrade oci-seccomp-bpf-hook-debuginfoUpgrade skopeo-debuginfoUpgrade go-toolsetUpgrade criu-develUpgrade podman-debugsourceUpgrade critUpgrade libslirpUpgrade conmon-debuginfoUpgrade golang-docsUpgrade toolbox-debuginfoUpgrade delveUpgrade cockpit-podmanUpgrade container-selinuxUpgrade skopeo-testsUpgrade libslirp-debuginfoUpgrade criu-debugsourceUpgrade podman-gvproxyUpgrade podman-testsUpgrade podman-plugins-debuginfoUpgrade oci-seccomp-bpf-hook-debugsourceUpgrade podman-debuginfoUpgrade runc-debuginfoUpgrade runc-debugsourceUpgrade criu-libsUpgrade delve-debuginfoUpgrade libslirp-debugsourceUpgrade udicaUpgrade buildah-debuginfoUpgrade golang-binUpgrade fuse-overlayfsUpgrade buildahUpgrade podman-remote-debuginfoUpgrade golang-srcUpgrade fuse-overlayfs-debuginfoUpgrade buildah-debugsourceUpgrade delve-debugsourceUpgrade podman-remoteUpgrade crun-debugsourceUpgrade toolbox-testsUpgrade toolbox-debugsourceUpgrade fuse-overlayfs-debugsourceUpgrade buildah-testsUpgrade podman-catatonit-debuginfoUpgrade podman-dockerUpgrade podmanUpgrade golangUpgrade golang-miscUpgrade podman-catatonitUpgrade criu-debuginfoUpgrade python3-podmanUpgrade containernetworking-plugins-debugsourceUpgrade podman-pluginsUpgrade toolboxNo solution existsUpgrade aardvark-dnsUpgrade containernetworking-pluginsUpgrade skopeo-debugsourceUpgrade skopeoUpgrade netavarkUpgrade criuUpgrade golang-raceUpgrade golang-testsUpgrade buildah-tests-debuginfoUpgrade conmon-debugsourceUpgrade conmonUpgrade criu-libs-debuginfoUpgrade runc | Oct 23, 2023 | Apr 6, 2023 |
| Rocky_linux | — | Upgrade runc-debuginfoUpgrade conmon-debuginfoUpgrade runc-debugsourceUpgrade buildah-debuginfoUpgrade criu-debugsourceUpgrade fuse-overlayfsUpgrade podman-debuginfoUpgrade criu-debuginfoUpgrade buildah-testsUpgrade python3-criuUpgrade criu-libs-debuginfoUpgrade fuse-overlayfs-debugsourceUpgrade buildahUpgrade podman-remoteUpgrade podman-plugins-debuginfoUpgrade podman-catatonitUpgrade containernetworking-pluginsUpgrade containers-commonUpgrade podmanUpgrade libslirp-debuginfoUpgrade oci-seccomp-bpf-hook-debugsourceUpgrade critUpgrade libslirp-develUpgrade criuUpgrade criu-libsUpgrade conmon-debugsourceUpgrade buildah-tests-debuginfoUpgrade oci-seccomp-bpf-hookUpgrade podman-gvproxy-debuginfoUpgrade crun-debugsourceUpgrade runcUpgrade podman-remote-debuginfoUpgrade aardvark-dnsUpgrade buildah-debugsourceUpgrade oci-seccomp-bpf-hook-debuginfoUpgrade slirp4netns-debugsourceUpgrade criu-develUpgrade podman-pluginsUpgrade podman-testsUpgrade crun-debuginfoUpgrade podman-catatonit-debuginfoUpgrade libslirpUpgrade podman-gvproxyUpgrade crunUpgrade conmonUpgrade slirp4netns-debuginfoUpgrade slirp4netnsUpgrade podman-debugsourceUpgrade netavarkUpgrade containernetworking-plugins-debugsourceUpgrade containernetworking-plugins-debuginfoUpgrade libslirp-debugsourceUpgrade fuse-overlayfs-debuginfo | Dec 1, 2025 | Nov 28, 2025 |
| Suse | — | Upgrade go1.19-raceUpgrade go1.20Upgrade go1.19Upgrade go1.20-docUpgrade go1.19-docUpgrade go1.20-race | Apr 10, 2023 | Apr 6, 2023 |
| Ubuntu | — | Upgrade golang-1.17-srcUpgrade golang-1.18-goUpgrade golang-1.18-src (Ubuntu Pro)Upgrade golang-1.18 (Ubuntu Pro)Upgrade golang-1.17-goUpgrade golang-1.17Upgrade golang-1.18-go (Ubuntu Pro)Upgrade golang-1.18Upgrade golang-1.18-src | Nov 15, 2024 | Apr 6, 2023 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 20, 2025 | Apr 6, 2023 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub