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