<Vulnerability name="CVE-2026-88932">
    <DocumentDistribution xml:lang="en">Copyright © 2012 Red Hat, Inc. All rights reserved.</DocumentDistribution>
    <ThreatSeverity>Moderate</ThreatSeverity>
    <PublicDate>2026-09-14T08:46:12</PublicDate>
    <Bugzilla id="2532957" url="https://bugzilla.redhat.com/show_bug.cgi?id=2532957" xml:lang="en:us">
multer: multer: Denial of Service via orphaned disk writes on aborted uploads
    </Bugzilla>
    <CVSS3 status="draft">
        <CVSS3BaseScore>5.3</CVSS3BaseScore>
        <CVSS3ScoringVector>CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L</CVSS3ScoringVector>
    </CVSS3>
    <CWE>CWE-459</CWE>
    <Details xml:lang="en:us" source="Mitre">
multer is a Node.js middleware for handling multipart/form-data uploads. In versions 2.2.0 through 2.3.0, when a request using disk storage is aborted mid-upload, file writes that complete after multer has already run its abort cleanup are not removed, so each aborted upload can leave an orphaned file on disk. A remote unauthenticated attacker can repeatedly start and abort uploads to accumulate orphaned files and exhaust disk space, causing a denial of service. The issue is fixed in multer 2.4.0, and users should upgrade to 2.4.0 or later.
    </Details>
    <Details xml:lang="en:us" source="Red Hat">
A flaw was found in multer, a Node.js middleware for handling multipart/form-data uploads. When a request using disk storage is aborted during an upload, file writes that complete after multer's cleanup process are not removed. This can leave orphaned files on disk. A remote unauthenticated attacker can repeatedly initiate and abort uploads to accumulate these orphaned files, which can exhaust disk space and lead to a denial of service.
    </Details>
    <Statement xml:lang="en:us">
This Moderate flaw in `multer` can lead to a denial of service in Red Hat products that process multipart/form-data uploads. A remote unauthenticated attacker can repeatedly initiate and abort uploads, causing orphaned files to accumulate and exhaust available disk space. This risk is present in deployments where `multer` is configured for disk storage.
    </Statement>
    <Mitigation xml:lang="en:us">
Until updates are available, administrators can implement the following mitigations to reduce the risk of disk exhaustion:

1. Monitor disk usage on systems running Red Hat Developer Hub or Ansible Portal and set up alerts for unusual disk consumption patterns.

2. Implement rate limiting on file upload endpoints to restrict the number of upload requests from a single IP address or user account within a given time period.

3. If authentication is not strictly required for file upload endpoints, enable authentication to reduce the attack surface to authenticated users only.

4. Periodically clean up orphaned temporary files in multer's storage directory. The default upload directory is typically in the system temp folder or a configured uploads directory.

5. Set disk quota limits for the user account or partition used by the application to prevent complete disk exhaustion from affecting the entire system.

For production environments, apply updates as they become available from Red Hat product teams.
    </Mitigation>
    <PackageState cpe="cpe:/a:redhat:red_hat_3scale_amp:2">
        <ProductName>Red Hat 3scale API Management Platform 2</ProductName>
        <FixState>Not affected</FixState>
        <PackageName>3scale-amp2/system-rhel8</PackageName>
    </PackageState>
    <PackageState cpe="cpe:/a:redhat:rhdh:1">
        <ProductName>Red Hat Developer Hub</ProductName>
        <FixState>Affected</FixState>
        <PackageName>rhdh/red-hat-developer-hub-backstage-plugin-lightspeed-backend</PackageName>
    </PackageState>
    <PackageState cpe="cpe:/a:redhat:rhdh:1">
        <ProductName>Red Hat Developer Hub</ProductName>
        <FixState>Affected</FixState>
        <PackageName>rhdh/red-hat-developer-hub-backstage-plugin-orchestrator-backend</PackageName>
    </PackageState>
    <PackageState cpe="cpe:/a:redhat:rhdh:1">
        <ProductName>Red Hat Developer Hub</ProductName>
        <FixState>Affected</FixState>
        <PackageName>rhdh/rhdh-hub-rhel9</PackageName>
    </PackageState>
    <PackageState cpe="cpe:/a:redhat:ansible_portal:2">
        <ProductName>Self-service automation portal 2</ProductName>
        <FixState>Affected</FixState>
        <PackageName>ansible-automation-platform/automation-portal</PackageName>
    </PackageState>
    <PackageState cpe="cpe:/a:redhat:ansible_portal:2">
        <ProductName>Self-service automation portal 2</ProductName>
        <FixState>Affected</FixState>
        <PackageName>ansible-automation-platform/bootc-automation-portal-rhel9</PackageName>
    </PackageState>
    <References xml:lang="en:us">
https://www.cve.org/CVERecord?id=CVE-2026-88932
https://nvd.nist.gov/vuln/detail/CVE-2026-88932
https://cna.openjsf.org/security-advisories.html
https://github.com/expressjs/multer/security/advisories/GHSA-3pph-fpjx-jg34
    </References>
</Vulnerability>