Cloudanix VulnDB

CVE-2020-1700

Medium · 6.5

CVSS

6.5

EPSS

2.4%

Published

Feb 7, 2020

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in a storage system's connection handling lets an authorized user deliberately overload the service until it stops accepting connections from anyone else.

Exploitation
Remote Authenticated
Attacker needs
Low Privilege
Complexity
Low
Impact
Denial Of Service
Component
Network Service
Class
Denial of service
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Authenticated attacker triggers permanent socket connection leaks in radosgw via repeated unexpected disconnects, accumulating CLOSE_WAIT sockets until resource exhaustion occurs.

Why it matters to the business

Denial of service prevents legitimate users from accessing Ceph object storage, causing operational disruption and potential downtime until sockets are cleared or the service restarted.

How an attack unfolds

An authenticated user repeatedly initiates connections to the RGW Beast frontend and forces unexpected disconnects, causing the daemon to leak sockets; sustained abuse exhausts available resources and blocks new connections.

How to fix it

Upgrade Ceph to a release containing the socket-leak fix; apply vendor updates for Red Hat OpenShift Container Storage, openSUSE Leap, and Ubuntu Linux as they become available; restart radosgw after patching.

How to confirm the fix worked

Compare installed Ceph version against patched releases from upstream or distribution vendors; monitor netstat/ss output for persistent CLOSE_WAIT accumulation on radosgw ports; test service availability under load after upgrade.

Typical attack path

  1. Obtain valid RGW credentials
  2. Establish multiple concurrent connections to the Beast frontend
  3. Force unexpected disconnects on each connection
  4. Repeat the pattern at volume to accumulate leaked sockets
  5. Continue until CLOSE_WAIT backlog exhausts file descriptors or memory

How to detect it

Review radosgw logs for repeated disconnect patterns from the same authenticated accounts; inspect system socket tables for abnormal CLOSE_WAIT counts tied to the radosgw process; correlate with authentication events during suspected abuse windows.

  • radosgw.*CLOSE_WAIT
  • multiple unexpected disconnects from authenticated RGW user
  • file descriptor exhaustion in radosgw logs

What your security team should do

  • Prioritize patching Ceph and dependent distributions as soon as fixed packages are released
  • Implement connection-rate limiting or authentication throttling on RGW endpoints
  • Add monitoring alerts for socket backlog and file-descriptor exhaustion on storage nodes

The record

A flaw was found in the way the Ceph RGW Beast front-end handles unexpected disconnects. An authenticated attacker can abuse this flaw by making multiple disconnect attempts resulting in a permanent leak of a socket connection by radosgw. This flaw could lead to a denial of service condition by pile up of CLOSE_WAIT sockets, eventually leading to the exhaustion of available resources, preventing legitimate users from connecting to the system.

Affected packages

Ecosystem Package Introduced Fixed
Chainguard ceph 0 0
Chainguard ceph 0 19.2.1-r0
Chainguard ceph-18 0 0
Chainguard ceph-18 0 18.2.7-r2
Chainguard ceph-18-deps 0 0
Chainguard ceph-18-deps 0 18.2.7-r2
Chainguard ceph-18-deps-fips 0 0
Chainguard ceph-18-deps-fips 0 18.2.7-r2
Chainguard ceph-18-dev 0 0
Chainguard ceph-18-dev 0 18.2.7-r2
Chainguard ceph-18-doc 0 0
Chainguard ceph-18-doc 0 18.2.7-r2
Chainguard ceph-18-libs 0 0
Chainguard ceph-18-libs 0 18.2.7-r2
Chainguard ceph-19 0 0
Chainguard ceph-19-deps 0 0
Chainguard ceph-19-deps 0 19.2.3-r14
Chainguard ceph-19-deps-fips 0 0
Chainguard ceph-19-deps-fips 0 19.2.3-r14
Chainguard ceph-19-dev 0 0
Chainguard ceph-19-dev 0 19.2.3-r13
Chainguard ceph-19-doc 0 0
Chainguard ceph-19-doc 0 19.2.3-r13
Chainguard ceph-19-libs 0 0
Chainguard ceph-19-libs 0 19.2.3-r13
Chainguard ceph-20 0 0
Chainguard ceph-20 0 20.3.0-r0
Chainguard ceph-20-dev 0 0
Chainguard ceph-20-dev 0 20.3.0-r0
Chainguard ceph-20-doc 0 0
Chainguard ceph-20-doc 0 20.3.0-r0
Chainguard ceph-20-libs 0 0
Chainguard ceph-20-libs 0 20.3.0-r0
Chainguard ceph-20.2 0 0
Chainguard ceph-dev 0 0
Chainguard ceph-dev 0 19.2.1-r0
Chainguard ceph-doc 0 0
Chainguard ceph-doc 0 19.2.1-r0
Chainguard ceph-libs 0 0
Chainguard ceph-libs 0 19.2.1-r0
Debian:10 ceph 0 12.2.11+dfsg1-2.1+deb10u1
Debian:11 ceph 0 14.2.7-1
Debian:12 ceph 0 14.2.7-1
Debian:13 ceph 0 14.2.7-1
SUSE:Enterprise Storage 6 ceph 0 14.2.5.382+g8881d33957-3.30.1
SUSE:Linux Enterprise Module for Basesystem 15 SP1 ceph 0 14.2.5.382+g8881d33957-3.30.1
Ubuntu:18.04:LTS ceph 0 12.2.12-0ubuntu0.18.04.5
Wolfi ceph 0 0
Wolfi ceph 0 19.2.1-r0
Wolfi ceph-19 0 0
Wolfi ceph-19-dev 0 0
Wolfi ceph-19-dev 0 19.2.3-r13
Wolfi ceph-19-doc 0 0
Wolfi ceph-19-doc 0 19.2.3-r13
Wolfi ceph-19-libs 0 0
Wolfi ceph-19-libs 0 19.2.3-r13
Wolfi ceph-20 0 0
Wolfi ceph-20 0 20.3.0-r0
Wolfi ceph-20-dev 0 0
Wolfi ceph-20-dev 0 20.3.0-r0
Wolfi ceph-20-doc 0 0
Wolfi ceph-20-doc 0 20.3.0-r0
Wolfi ceph-20-libs 0 0
Wolfi ceph-20-libs 0 20.3.0-r0
Wolfi ceph-20.2 0 0
Wolfi ceph-dev 0 0
Wolfi ceph-dev 0 19.2.1-r0
Wolfi ceph-doc 0 0
Wolfi ceph-doc 0 19.2.1-r0
Wolfi ceph-libs 0 0
Wolfi ceph-libs 0 19.2.1-r0
openSUSE:Leap 15.1 ceph 0 14.2.5.382+g8881d33957-lp151.2.10.1
openSUSE:Leap 15.1 ceph-test 0 14.2.5.382+g8881d33957-lp151.2.10.1

Related vulnerabilities