Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Application Security //

Database

3/28/2018
09:35 AM
Larry Loeb
Larry Loeb
Larry Loeb
50%
50%

Researcher Finds etcd Servers Leak Passwords Like a Sieve

Security researchers find that etcd servers, an essential part of Kubernetes, as well as other database system, have been leaking passwords for a long time.

Kubernetes is an open source system for automating deployment, scaling and management of containerized applications in the cloud. First developed by Google, the orchestration software has had some serious security problems show up lately.

Now, there's another problem coming to light, but it's due to one of Kubernetes components: etcd. (See Cybercriminals Using Kubernetes, Docker to Bitcoin Mine.)

etcd is an open source distributed key value store written in the Google Go language that provides a "reliable" way to store data across a cluster of machines. One can read and write values with curl and other HTTP libraries. It's sort of like an expandable database that changes with how the clusters that are in use change.

Security researcher Giovanni Collazo got curious when he saw in some etcd documentation that:

etcd before 2.1 was a completely open system; anyone with access to the API could change keys. In order to preserve backward compatibility and upgradability, this feature is off by default.

This made him wonder if the kind of problems that had been affecting MongoDB --misconfiguration that could stop authentication -- was in play here. It was.

As he wrote in his blog on the issue, Collazo did a simple Shodan search and found 2,284 etcd servers on the open Internet. From these servers he was able to download "passwords for databases of all kinds, AWS secret keys, and API keys and secrets for a bunch of services. Also came across a few certificates, you name it."

The data included the passwords and keys required for cms_admin, mysql_root and postgres server infrastructure.

So, in conclusion, etcd can be easily misconfigured and then leak secrets like a sieve.

But -- and this ties the whole thing together -- etcd is used as Kubernetes' backing store for all cluster data. Usually that data in the backing store will include secrets encoded as base64 strings. An attacker can get into one of these poorly configured servers and come back with stuff that will compromised the entire Kubernetes cluster.

Using the etcd API, an attacker could also write to the database. This might invalidate the cluster data stored in it, or serve as a way to hide data that was taken in another attack.

In an email to Security Now, Zohar Alon, CEO of security company Dome9, wrote:

There were two levels of security failure here -- one, no password protection for the service by default, and two, servers with ports exposed to the whole world when they should have been locked down.

Kubernetes dependency upon etcd is a non-obvious vulnerability, but a serious one. If this kind of system is deployed by an organization, they would do well to ascertain that it has been locked down by them before someone gets the idea to attack it.

Related posts:

— Larry Loeb has written for many of the last century's major "dead tree" computer magazines, having been, among other things, a consulting editor for BYTE magazine and senior editor for the launch of WebWeek.

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
COVID-19: Latest Security News & Commentary
Dark Reading Staff 7/2/2020
Ripple20 Threatens Increasingly Connected Medical Devices
Kelly Sheridan, Staff Editor, Dark Reading,  6/30/2020
DDoS Attacks Jump 542% from Q4 2019 to Q1 2020
Dark Reading Staff 6/30/2020
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
How Cybersecurity Incident Response Programs Work (and Why Some Don't)
This Tech Digest takes a look at the vital role cybersecurity incident response (IR) plays in managing cyber-risk within organizations. Download the Tech Digest today to find out how well-planned IR programs can detect intrusions, contain breaches, and help an organization restore normal operations.
Flash Poll
The Threat from the Internetand What Your Organization Can Do About It
The Threat from the Internetand What Your Organization Can Do About It
This report describes some of the latest attacks and threats emanating from the Internet, as well as advice and tips on how your organization can mitigate those threats before they affect your business. Download it today!
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2020-9498
PUBLISHED: 2020-07-02
Apache Guacamole 1.1.0 and older may mishandle pointers involved inprocessing data received via RDP static virtual channels. If a userconnects to a malicious or compromised RDP server, a series ofspecially-crafted PDUs could result in memory corruption, possiblyallowing arbitrary code to be executed...
CVE-2020-3282
PUBLISHED: 2020-07-02
A vulnerability in the web-based management interface of Cisco Unified Communications Manager, Cisco Unified Communications Manager Session Management Edition, Cisco Unified Communications Manager IM & Presence Service, and Cisco Unity Connection could allow an unauthenticated, remote attack...
CVE-2020-5909
PUBLISHED: 2020-07-02
In versions 3.0.0-3.5.0, 2.0.0-2.9.0, and 1.0.1, when users run the command displayed in NGINX Controller user interface (UI) to fetch the agent installer, the server TLS certificate is not verified.
CVE-2020-5910
PUBLISHED: 2020-07-02
In versions 3.0.0-3.5.0, 2.0.0-2.9.0, and 1.0.1, the Neural Autonomic Transport System (NATS) messaging services in use by the NGINX Controller do not require any form of authentication, so any successful connection would be authorized.
CVE-2020-5911
PUBLISHED: 2020-07-02
In versions 3.0.0-3.5.0, 2.0.0-2.9.0, and 1.0.1, the NGINX Controller installer starts the download of Kubernetes packages from an HTTP URL On Debian/Ubuntu system.