Skip to content
Fencer Vulns
medium 6.5

CVE-2023-45290 json

Memory exhaustion in multipart form parsing in net/textproto and net/http

published 2024-03-05 2 y ago modified 2026-06-17 4 mo ago also BIT-golang-2023-45290 , EUVD-2023-49589 , GO-2024-2599

cvss
6.5
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
1.2%
EPSS 1.2% chance of exploitation in 30 days, percentile 67%
public exploits
0
none known

Summary

When parsing a multipart form (either explicitly with Request.ParseMultipartForm or implicitly with Request.FormValue, Request.PostFormValue, or Request.FormFile), limits on the total size of the parsed form were not applied to the memory consumed while reading a single form line. This permits a maliciously crafted input containing very long lines to cause allocation of arbitrarily large amounts of memory, potentially leading to memory exhaustion. With fix, the ParseMultipartForm function now correctly limits the maximum size of form lines.

Patch / fix

  • bitnami golang 1.21.8, 1.22.1
  • go stdlib 1.21.8, 1.22.1
  • Go standard library net/textproto 1.21.8, 1.22.1
  • golang-1.17 Ubuntu 22.04 LTS 1.17.13-3ubuntu1.3
  • golang-1.18 Ubuntu 20.04 LTS 1.18.1-1ubuntu1~20.04.3
  • golang-1.18 Ubuntu 22.04 LTS 1.18.1-1ubuntu1.2
  • golang-1.21 Ubuntu 20.04 LTS 1.21.1-1~ubuntu20.04.3
  • golang-1.21 Ubuntu 22.04 LTS 1.21.1-1~ubuntu22.04.3
  • golang-1.18 Ubuntu Pro 16.04 LTS 1.18.1-1ubuntu1~16.04.6+esm1
  • golang-1.18 Ubuntu Pro 18.04 LTS 1.18.1-1ubuntu1~18.04.4+esm1

ubuntu advisories UBUNTU-CVE-2023-45290

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • toolbox RHEL 9 0.0.99.5-5.el9
  • toolbox-tests RHEL 9 0.0.99.5-5.el9
  • crit RHEL 8 3.18-5.module+el8.10.0+22346+28c02849
  • criu RHEL 8 3.18-5.module+el8.10.0+22346+28c02849
  • crun RHEL 8 1.14.3-2.module+el8.10.0+22346+28c02849
  • runc RHEL 8 1:1.1.12-5.module+el8.10.0+22346+28c02849
  • udica RHEL 8 0.2.6-21.module+el8.10.0+22346+28c02849
  • conmon RHEL 8 3:2.1.10-1.module+el8.10.0+22346+28c02849

red hat advisories RHSA-2024:9135RHSA-2024:8038RHSA-2024:6969RHSA-2024:3259RHSA-2024:5258RHSA-2024:5077

  • go1.22-openssl SLE Module for Development Tools 15 SP6, openSUSE Leap 15.6 1.22.7.1-150600.13.3.1
  • go1.22-openssl SLE Module for Development Tools 15 SP5, openSUSE Leap 15.5 1.22.7.1-150000.1.3.1
  • go1.21-openssl SLE Module for Development Tools 15 SP6, openSUSE Leap 15.6 1.21.13.1-150600.16.3.1
  • go1.21-openssl SLES for SAP 15 SP4, SLES 15 SP4-LTSS, SLE Module for Development Tools 15 SP5 +3 more 1.21.13.1-150000.1.11.1
  • go1.22 SLE Software Development Kit 12 SP5 1.22.1-1.3.1
  • go1.22 SLE Module for Development Tools 15 SP5, openSUSE Leap 15.5 1.22.1-150000.1.9.1
  • go1.21 SLES for SAP 15 SP4, SLES 15 SP4-LTSS, SLE Module for Development Tools 15 SP5 +3 more 1.21.8-150000.1.27.1
  • go1.21 SLE Software Development Kit 12 SP5 1.21.8-1.27.1

suse advisories SUSE-SU-2024:3938-1SUSE-SU-2024:3772-1SUSE-SU-2024:3755-1SUSE-SU-2024:3089-1SUSE-SU-2024:0936-1SUSE-SU-2024:0812-1

  • go1.22 openSUSE Tumbleweed 1.22.1-1.1
  • go1.21 openSUSE Tumbleweed 1.21.8-1.1

opensuse advisories openSUSE-SU-2024:13752-1openSUSE-SU-2024:13756-1

  • toolbox AlmaLinux 9 0.0.99.5-5.el9
  • toolbox-tests AlmaLinux 9 0.0.99.5-5.el9
  • crit AlmaLinux 8 3.18-5.module_el8.10.0+3901+4b80ecd7
  • crit AlmaLinux 8 3.18-5.module_el8.10.0+3845+87b84552
  • crit AlmaLinux 8 3.18-5.module_el8.10.0+3858+6ad51f9f
  • criu AlmaLinux 8 3.18-5.module_el8.10.0+3876+e55593a8
  • criu AlmaLinux 8 3.18-5.module_el8.10.0+3845+87b84552
  • crun AlmaLinux 8 1.14.3-2.module_el8.10.0+3845+87b84552

almalinux advisories ALSA-2024:9135ALSA-2024:8038ALSA-2024:6969ALSA-2024:5258ALSA-2024:3826ALSA-2024:3827

  • criu Rocky Linux 8 3.18-5.module+el8.10.0+1815+5fe7415e
  • criu Rocky Linux 8 3.18-5.module+el8.10.0+1825+623b0c20
  • criu Rocky Linux 8 3.18-5.module+el8.10.0+1843+6892ab28
  • criu Rocky Linux 8 3.18-5.module+el8.10.0+1872+2e18eb19
  • criu Rocky Linux 8 3.18-5.module+el8.10.0+1874+ce489889
  • criu Rocky Linux 8 3.18-5.module+el8.10.0+1880+8e896d1b
  • criu Rocky Linux 8 3.18-5.module+el8.10.0+1896+b18fa106
  • criu Rocky Linux 8 3.18-5.module+el8.10.0+1948+4b5cd4a9

rocky linux advisories RLSA-2024:6969RLSA-2024:9135RLSA-2024:8038RLSA-2024:5258RLSA-2024:3826RLSA-2024:3827

  • go Alpine 3.19 1.21.8-r0
  • go Alpine 3.24, Alpine 3.23, Alpine 3.22 +2 more 1.22.1-r0

alpine advisories ALPINE-CVE-2023-45290

Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • golang CBL-Mariner 2.0 1.21.6-1

azure linux advisories AZL-37493AZL-37504

Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2023-45290 updated cvss 5.3

golang: net/http: golang: mime/multipart: golang: net/textproto: memory exhaustion in Request.ParseMultipartForm

  • Red Hat Cost Management Metrics Operator costmanagement/costmanagement-metrics-rhel8-operator
    affected: workaround, no fix available
  • Red Hat Fence Agents Remediation Operator workload-availability/fence-agents-remediation-rhel8-operator
    affected: workaround, no fix planned “Will not fix”
  • Red Hat Machine Deletion Remediation Operator workload-availability/machine-deletion-remediation-rhel8-operator
    affected: workaround, no fix available
  • Red Hat Migration Toolkit for Applications 6 mta/mta-hub-rhel8 Red Hat Multicluster Engine for Kubernetes multicluster-engine/hive-rhel8 Red Hat NBDE Tang Server tang-operator-container Red Hat Node HealthCheck Operator workload-availability/node-healthcheck-rhel8-operator Red Hat Node Maintenance Operator workload-availability/node-maintenance-rhel8-operator
    affected: workaround, no fix planned “Will not fix”
  • Red Hat OpenShift Developer Tools and Services helm, ocp-tools-4/jenkins-rhel8
    affected: workaround, no fix available “Fix deferred”
  • Red Hat OpenShift Pipelines openshift-pipelines-client Red Hat OpenShift Serverless openshift-serverless-1/kn-client-kn-rhel9
    affected: workaround, no fix planned “Will not fix”
  • Red Hat OpenShift Source-to-Image (S2I) source-to-image-container Red Hat Power monitoring for Red Hat OpenShift kepler-container Red Hat 3scale API Management Platform 2 3scale-amp26/3scale-operator Red Hat Advanced Cluster Management for Kubernetes 2 rhacm2/subctl-rhel9
    affected: workaround, no fix available
  • Red Hat Advanced Cluster Security 3 advanced-cluster-security/rhacs-main-rhel8
    affected: workaround, no fix planned “Out of support scope”
show 16 more
  • Red Hat Ansible Automation Platform 2 aap-cloud-ui-container
    affected: workaround, no fix planned “Will not fix”
  • Red Hat Ceph Storage 5 rhceph/rhceph-5-dashboard-rhel8
    affected: workaround, no fix planned “Out of support scope”
  • Red Hat Ceph Storage 6 rhceph/rhceph-6-dashboard-rhel9 Red Hat Certification for Red Hat Enterprise Linux 8 redhat-certification-preflight Red Hat Certification Program for Red Hat Enterprise Linux 9 redhat-certification-preflight
    affected: workaround, no fix planned “Will not fix”
  • Red Hat Enterprise Linux 8 grafana, toolbox, grafana-loki, weldr-client, grafana-mssql, grafana-mysql, +15 more Red Hat Enterprise Linux 9 butane, skopeo, grafana, ignition, skopeo-tests, weldr-client, +8 more
    affected: workaround, no fix available, no fix planned “Will not fix”
  • Red Hat OpenShift Container Platform 4 openshift4/ovirt-csi-driver-rhel9 Red Hat OpenShift Dev Spaces devspaces/udi-rhel8 Red Hat OpenShift distributed tracing 2 rhosdt/tempo-rhel8
    affected: workaround, no fix available
  • Red Hat OpenShift GitOps openshift-gitops-1/gitops-rhel8 Red Hat OpenShift on AWS rosa
    affected: workaround, no fix planned “Will not fix”
  • Red Hat Openshift Sandboxed Containers openshift-sandboxed-containers/osc-rhel8-operator Red Hat OpenShift Virtualization 4 kubevirt
    affected: workaround, no fix available
  • Red Hat OpenStack Platform 16.2 etcd, golang-github-infrawatch-apputils
    affected: workaround, no fix planned “Will not fix”
  • Red Hat OpenStack Platform 17.1 etcd, golang-github-infrawatch-apputils
    affected: workaround, no fix available, no fix planned “Will not fix”
  • Red Hat OpenStack Platform 18.0 etcd
    affected: workaround, no fix planned “Will not fix”
  • Red Hat Quay 3 quay/clair-rhel8 Red Hat Service Interconnect 1 skupper-cli
    affected: workaround, no fix available
  • Red Hat Storage 3 golang, heketi, golang-bin, golang-src, golang-misc, golang-tests, +2 more
    affected: workaround, no fix planned “Out of support scope”
  • Red Hat Web Terminal web-terminal-exec-container
    affected: workaround, no fix available “Fix deferred”
  • Red Hat Self Node Remediation Operator workload-availability/self-node-remediation-rhel8-operator
    affected: workaround, no fix available
  • Red Hat Builds for Red Hat OpenShift
    fixed: vendor fix RHSA-2024:6221
  • Red Hat Builds for Red Hat OpenShift 1.1.1 openshift-builds
    fixed: vendor fix RHSA-2024:5013

34 more fixed, 23 more not affected in the full advisory

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
none
Automatable
no
Technical impact
partial
Assessed
2 y ago

Exploit prediction

1.17% chance of exploitation in the next 30 days, higher than 67% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CISA ADP 3.1 6.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CNA 3.1 6.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
OSV 3.1 6.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Affected packages

ecosystem package affected fixed in
bitnami golang
<1.21.8
>=1.22.0-0, <1.22.1
1.21.8
1.22.1
go stdlib
<1.21.8
>=1.22.0-0, <1.22.1
1.21.8
1.22.1

Affected products

  • Go standard library net/textproto

Classification

Weakness
  • CWE-770 Allocation of Resources Without Limits or Throttling

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.

CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.