Snyk this week disclosed it identified four vulnerabilities, collectively dubbed “Leaky Vessels,” that application development teams need to address by updating the runc command line tool.

Rory McNamara, a security researcher for the Snyk Security Labs team, said the vulnerabilities allow cybercriminals to escape a container to gain unauthorized access to the underlying host operating system.

The core vulnerability resides in runc, which is widely used for spawning and running containers on Linux platforms. Docker, Inc. has already addressed the issue, but developers will need to update to a new version of runc that has been made available this week.

The vulnerability discovered by Snyk requires cybercriminals to gain access to the tools or production environment they then exploit, said McNamara. While developers are primary targets for phishing attacks to gain access to a software supply chain, Snyk researchers have not seen any compromise involving these vulnerabilities.

Snyk, however, has made available two open source tools that serve as reference implementations for detecting exploit attempts.
Attacks against containers involving jailbreaks that enable cybercriminals to take over the underlying infrastructure are now common. Cybercriminals can then use those systems to potentially distribute malware laterally across an entire IT environment.

It’s not clear to what extent container environments might be compromised. Many organizations assume that because the average container is live for five minutes or less, they are generally secure. However, the longer a container runs, the more likely it is to be compromised.

In addition, cybercriminals are getting more adept at monitoring cloud-native application environments and increasingly watching for vulnerable containers to be spun back up. In fact, the time cybersecurity teams have to discover and remediate a container breach before cybercriminals find a way to use that exploit to implant malware laterally across an IT environment is now measured in minutes.

Ultimately, just about every organization needs to improve software supply chain security. The challenge with containers is that, as a software artifact, they behave differently than more familiar artifacts that a cybersecurity team is likely to have previously interacted with. A container isn’t any more secure than another artifact. Instead, it simply has weaknesses that DevSecOps teams need to collaboratively ensure are not exploited.

Of course, there will always be developers that, either because of inexperience or carelessness, will make a mistake. Organizations should assume that those mistakes will be made, which means putting policies and controls in place to limit the scope of a breach as much as possible. The issue is that containers are used to build microservices that form the core of their cloud-native applications. The interdependencies between those microservices can easily become a malware distribution route, so all it takes for a major issue to arise is for a single container to be compromised. Considering the number of containers that organizations are running at any given time, the odds a cyberattacker will discover one is running software that has known vulnerabilities tends to favor them more than any defender.

In fact, it’s arguably amazing that more containers aren’t being regularly compromised. The issue, of course, is that it’s only a matter of time before luck eventually runs out.