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