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