Skip to main content

OpenStack Swift CVE-2026-49017

| EUVDEUVD-2026-32040 HIGH
Loop with Unreachable Exit Condition (Infinite Loop) (CWE-835)
2026-05-27 mitre GHSA-g7jq-j257-rww2
7.1
CVSS 4.0 · NVD
Share

Severity by source

NVD PRIMARY
7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Red Hat
6.5 MEDIUM
qualitative

Primary rating from NVD.

CVSS VectorNVD

CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

1
Analysis Generated
May 27, 2026 - 20:37 vuln.today

DescriptionCVE.org

In OpenStack Swift before 2.36.2 and 2.37.2, s3api middleware enters an infinite loop when processing a truncated aws-chunked PUT request body. The StreamingInput class repeatedly appends an empty buffer and re-reads, causing the proxy-server worker handling the request to become permanently unresponsive with increasing CPU and memory consumption. An authenticated attacker can systematically exhaust all proxy-server workers, resulting in denial of service. The defect was introduced in Swift 2.36.0.

AnalysisAI

Denial of service in OpenStack Swift's s3api middleware allows an authenticated S3 API user to permanently hang proxy-server workers by sending a truncated aws-chunked PUT request body. Versions 2.36.0 through 2.36.1 and 2.37.0 through 2.37.1 are affected; the defect was introduced in 2.36.0 and fixed in 2.36.2 and 2.37.2. There is no public exploit identified at time of analysis, and EPSS is very low (0.04%, 12th percentile), but the high availability impact and low attack complexity make this a credible operational threat to S3-compatible Swift deployments.

Technical ContextAI

OpenStack Swift is a distributed object storage system; its s3api middleware provides an Amazon S3-compatible REST interface on the proxy-server tier. AWS chunked uploads (the aws-chunked content encoding) frame the request body into length-prefixed chunks that the StreamingInput class reads incrementally. The flaw is a CWE-835 (Loop with Unreachable Exit Condition / 'infinite loop'): when the chunked body is truncated, StreamingInput repeatedly appends an empty buffer and re-reads instead of detecting end-of-stream or erroring out, so the loop never terminates. The single CPE (cpe:2.3:a:openstack:swift) confirms the OpenStack Swift application package is the affected component, specifically the proxy-server worker process handling the malformed request.

RemediationAI

Vendor-released patch: upgrade to Swift 2.36.2 (for the 2.36.x line) or 2.37.2 (for the 2.37.x line), which contain the fix; deployments on 2.35.x and earlier are unaffected and do not regress. The corrective changes are tracked in Gerrit at https://review.opendev.org/c/openstack/swift/+/987957 and https://review.opendev.org/c/openstack/swift/+/988093, with background at https://bugs.launchpad.net/bugs/2152205 and the oss-security disclosure at http://www.openwall.com/lists/oss-security/2026/05/27/9. If immediate patching is not possible, compensating controls include disabling or restricting the s3api middleware in the proxy-server pipeline where the S3-compatible interface is not required (trade-off: breaks all S3 API clients), and placing a reverse proxy or WAF in front of the proxy-server to enforce request body completeness and Content-Length consistency for aws-chunked uploads (trade-off: chunked-encoding validation is non-trivial and may reject some legitimate streaming clients). Operationally, monitor proxy-server workers for stuck threads with rising CPU/memory and configure worker recycling/timeouts so hung workers are reaped, and rate-limit or revoke credentials of abusive authenticated clients (trade-off: does not close the root cause).

More in Swift

View all
CVE-2012-4406 CRITICAL
9.8 Oct 22

OpenStack Object Storage (swift) before 1.7.0 uses the loads function in the pickle Python module unsafely when storing

CVE-2017-16613 CRITICAL
9.8 Nov 21

An issue was discovered in middleware.py in OpenStack Swauth through 1.2.0 when used with OpenStack Swift through 2.15.1

CVE-2023-26154 MEDIUM POC
5.9 Dec 06

Versions of the package pubnub before 7.4.0; all versions of the package com.pubnub:pubnub; versions of the package pubn

CVE-2018-4220 HIGH
8.8 Jun 08

An issue was discovered in certain Apple products. Rated high severity (CVSS 8.8), this vulnerability is remotely exploi

CVE-2016-0738 HIGH
7.5 Jan 29

OpenStack Object Storage (Swift) before 2.3.1 (Kilo), 2.4.x, and 2.5.x before 2.5.1 (Liberty) do not properly close serv

CVE-2016-0737 HIGH
7.5 Jan 29

OpenStack Object Storage (Swift) before 2.4.0 does not properly close client connections, which allows remote attackers

CVE-2022-32389 HIGH
7.5 Jul 14

Isode SWIFT v4.0.2 was discovered to contain hard-coded credentials in the Registry Editor. Rated high severity (CVSS 7.

CVE-2022-1642 HIGH
7.5 Jun 16

A program using swift-corelibs-foundation is vulnerable to a denial of service attack caused by a potentially malicious

CVE-2020-9861 HIGH
7.5 Nov 02

A stack overflow issue existed in Swift for Linux. Rated high severity (CVSS 7.5), this vulnerability is remotely exploi

CVE-2013-6396 MEDIUM
5.8 Feb 18

The OpenStack Python client library for Swift (python-swiftclient) 1.0 through 1.9.0 does not verify X.509 certificates

CVE-2015-1856 MEDIUM
5.5 Apr 17

OpenStack Object Storage (Swift) before 2.3.0, when allow_version is configured, allows remote authenticated users to de

CVE-2026-50221 MEDIUM
5.3 Jun 23

Server-side request forgery in OpenStack Swift's proxy-server allows authenticated users to manipulate object servers in

Vendor StatusVendor

Share

CVE-2026-49017 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy