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 criu-libsUpgrade runcUpgrade podman-remoteUpgrade fuse-overlayfsUpgrade netavarkUpgrade podman-catatonitUpgrade criu-develUpgrade toolboxUpgrade python3-podmanUpgrade skopeo-testsUpgrade containers-commonUpgrade oci-seccomp-bpf-hookUpgrade crunUpgrade libslirp-develUpgrade podman-pluginsUpgrade podmanUpgrade containernetworking-pluginsUpgrade skopeoUpgrade criuUpgrade conmonUpgrade libslirpUpgrade python3-criuUpgrade udicaUpgrade slirp4netnsUpgrade podman-testsUpgrade cockpit-podmanUpgrade critUpgrade podman-gvproxyUpgrade container-selinuxUpgrade podman-dockerUpgrade buildahUpgrade buildah-testsUpgrade aardvark-dnsUpgrade toolbox-tests | Nov 16, 2023 | Apr 6, 2023 |
| Alpine Linux | — | Upgrade go | Aug 22, 2024 | Apr 6, 2023 |
| Amazon Linux Ami 2 | — | Upgrade golang-miscUpgrade golang-srcUpgrade golang-raceUpgrade golangUpgrade golang-testsUpgrade containerd-stressUpgrade containerd-debuginfoUpgrade golang-binUpgrade containerdUpgrade 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-miscUpgrade golang-srcUpgrade golang-binUpgrade golangUpgrade golang-testsUpgrade golang-raceUpgrade golang-sharedUpgrade golang-docs | Feb 17, 2025 | Apr 4, 2023 |
| Centos_linux | — | Upgrade buildah-testsUpgrade libslirp-develUpgrade buildahUpgrade buildah-debugsourceUpgrade conmon-debugsourceUpgrade conmonUpgrade golangUpgrade slirp4netnsUpgrade criu-libsUpgrade crun-debuginfoUpgrade runc-debuginfoUpgrade criu-debuginfoUpgrade delve-debuginfoUpgrade fuse-overlayfs-debugsourceUpgrade podman-remote-debuginfoUpgrade criu-debugsourceUpgrade podman-gvproxyUpgrade golang-srcUpgrade buildah-debuginfoUpgrade golang-miscUpgrade podman-catatonit-debuginfoUpgrade containernetworking-plugins-debugsourceUpgrade toolboxUpgrade fuse-overlayfsUpgrade golang-raceUpgrade go-toolsetUpgrade libslirpUpgrade oci-seccomp-bpf-hook-debugsourceUpgrade conmon-debuginfoUpgrade oci-seccomp-bpf-hookUpgrade aardvark-dnsUpgrade podman-testsUpgrade skopeo-debuginfoUpgrade cockpit-podmanUpgrade containers-commonUpgrade buildah-tests-debuginfoUpgrade netavarkUpgrade python3-podmanUpgrade fuse-overlayfs-debuginfoUpgrade crun-debugsourceUpgrade criu-libs-debuginfoUpgrade criuUpgrade runc-debugsourceUpgrade podman-dockerUpgrade podman-remoteUpgrade criu-develUpgrade golang-testsUpgrade podman-debuginfoUpgrade container-selinuxUpgrade slirp4netns-debugsourceUpgrade toolbox-debugsourceUpgrade delveUpgrade udicaUpgrade skopeoUpgrade golang-binUpgrade skopeo-debugsourceUpgrade toolbox-testsUpgrade golang-docsUpgrade skopeo-testsUpgrade podman-plugins-debuginfoUpgrade podman-gvproxy-debuginfoUpgrade podman-catatonitUpgrade critUpgrade containernetworking-plugins-debuginfoUpgrade oci-seccomp-bpf-hook-debuginfoUpgrade slirp4netns-debuginfoUpgrade toolbox-debuginfoUpgrade python3-criuUpgrade libslirp-debuginfoUpgrade crunUpgrade containernetworking-pluginsUpgrade runcUpgrade podman-pluginsUpgrade libslirp-debugsourceUpgrade delve-debugsourceUpgrade podman-debugsourceUpgrade 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-develUpgrade golangUpgrade golang-help | Jul 18, 2023 | Apr 6, 2023 |
| Huawei Euleros 2_0_sp11 | — | Upgrade golangUpgrade golang-develUpgrade golang-help | 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 podman-dockerUpgrade python3-criuUpgrade container-selinuxUpgrade fuse-overlayfsUpgrade slirp4netnsUpgrade podman-remoteUpgrade aardvark-dnsUpgrade cockpit-podmanUpgrade runcUpgrade buildahUpgrade critUpgrade podman-gvproxyUpgrade buildah-testsUpgrade podman-pluginsUpgrade oci-seccomp-bpf-hookUpgrade containers-commonUpgrade containernetworking-pluginsUpgrade criu-libsUpgrade criuUpgrade skopeoUpgrade libslirpUpgrade criu-develUpgrade skopeo-testsUpgrade podmanUpgrade python3-podmanUpgrade crunUpgrade udicaUpgrade conmonUpgrade libslirp-develUpgrade podman-catatonitUpgrade netavarkUpgrade podman-tests | Nov 16, 2023 | Apr 4, 2023 |
| Redhat Openshift | — | Upgrade skopeoUpgrade cri-oUpgrade podmanUpgrade openshift-clientsUpgrade conmonUpgrade microshift | Jun 15, 2023 | Apr 4, 2023 |
| Redhat_linux | — | Upgrade toolbox-testsUpgrade podman-remote-debuginfoUpgrade podman-remoteUpgrade golang-testsUpgrade skopeo-debugsourceUpgrade skopeoUpgrade toolbox-debugsourceUpgrade conmonUpgrade aardvark-dnsUpgrade podman-catatonitUpgrade golang-binUpgrade containernetworking-plugins-debugsourceUpgrade buildah-testsUpgrade buildahUpgrade netavarkUpgrade golang-srcUpgrade fuse-overlayfsUpgrade buildah-tests-debuginfoUpgrade fuse-overlayfs-debugsourceUpgrade python3-podmanUpgrade criuUpgrade delve-debugsourceUpgrade conmon-debugsourceUpgrade golangUpgrade podman-dockerUpgrade podman-catatonit-debuginfoUpgrade podman-pluginsUpgrade toolboxUpgrade buildah-debugsourceUpgrade podmanUpgrade buildah-debuginfoUpgrade runcNo solution existsUpgrade containernetworking-pluginsUpgrade fuse-overlayfs-debuginfoUpgrade crun-debugsourceUpgrade criu-libs-debuginfoUpgrade golang-miscUpgrade criu-debuginfoUpgrade golang-raceUpgrade udicaUpgrade podman-plugins-debuginfoUpgrade toolbox-debuginfoUpgrade slirp4netns-debuginfoUpgrade podman-testsUpgrade go-toolsetUpgrade criu-debugsourceUpgrade slirp4netns-debugsourceUpgrade podman-debugsourceUpgrade cockpit-podmanUpgrade libslirp-debugsourceUpgrade oci-seccomp-bpf-hookUpgrade libslirp-debuginfoUpgrade container-selinuxUpgrade runc-debuginfoUpgrade skopeo-debuginfoUpgrade crun-debuginfoUpgrade libslirp-develUpgrade containernetworking-plugins-debuginfoUpgrade podman-gvproxy-debuginfoUpgrade delve-debuginfoUpgrade podman-gvproxyUpgrade slirp4netnsUpgrade oci-seccomp-bpf-hook-debuginfoUpgrade libslirpUpgrade conmon-debuginfoUpgrade criu-develUpgrade crunUpgrade python3-criuUpgrade golang-docsUpgrade delveUpgrade critUpgrade podman-debuginfoUpgrade runc-debugsourceUpgrade oci-seccomp-bpf-hook-debugsourceUpgrade criu-libsUpgrade containers-commonUpgrade skopeo-tests | Oct 23, 2023 | Apr 6, 2023 |
| Rocky_linux | — | Upgrade podman-catatonitUpgrade criu-libs-debuginfoUpgrade podman-debuginfoUpgrade podmanUpgrade conmon-debugsourceUpgrade buildah-debuginfoUpgrade runc-debuginfoUpgrade podman-remote-debuginfoUpgrade buildah-tests-debuginfoUpgrade containernetworking-pluginsUpgrade criuUpgrade libslirp-develUpgrade criu-debugsourceUpgrade fuse-overlayfsUpgrade fuse-overlayfs-debugsourceUpgrade podman-plugins-debuginfoUpgrade buildahUpgrade podman-gvproxy-debuginfoUpgrade oci-seccomp-bpf-hookUpgrade containers-commonUpgrade podman-remoteUpgrade critUpgrade criu-libsUpgrade libslirp-debuginfoUpgrade oci-seccomp-bpf-hook-debugsourceUpgrade runcUpgrade aardvark-dnsUpgrade buildah-testsUpgrade crun-debugsourceUpgrade conmon-debuginfoUpgrade criu-debuginfoUpgrade runc-debugsourceUpgrade python3-criuUpgrade podman-testsUpgrade buildah-debugsourceUpgrade podman-debugsourceUpgrade containernetworking-plugins-debugsourceUpgrade conmonUpgrade crunUpgrade podman-pluginsUpgrade containernetworking-plugins-debuginfoUpgrade podman-gvproxyUpgrade oci-seccomp-bpf-hook-debuginfoUpgrade slirp4netns-debugsourceUpgrade netavarkUpgrade libslirp-debugsourceUpgrade podman-catatonit-debuginfoUpgrade crun-debuginfoUpgrade slirp4netnsUpgrade slirp4netns-debuginfoUpgrade libslirpUpgrade fuse-overlayfs-debuginfoUpgrade criu-devel | Dec 1, 2025 | Nov 28, 2025 |
| Suse | — | Upgrade go1.20-raceUpgrade go1.20Upgrade go1.19-docUpgrade go1.20-docUpgrade go1.19Upgrade go1.19-race | Apr 10, 2023 | Apr 6, 2023 |
| Ubuntu | — | Upgrade golang-1.17-srcUpgrade golang-1.18 (Ubuntu Pro)Upgrade golang-1.17-goUpgrade golang-1.18-src (Ubuntu Pro)Upgrade golang-1.18-goUpgrade golang-1.17Upgrade golang-1.18-go (Ubuntu Pro)Upgrade golang-1.18-srcUpgrade golang-1.18 | 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