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