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