Security Experts:

Hacked SolarWinds Software Lacked Basic Anti-Exploit Mitigation: Microsoft

Software vendor SolarWinds failed to enable an anti-exploit mitigation available since the launch of Windows Vista 15 years ago, an oversight that made it easy for attackers to launch targeted malware attacks in July this year.

The missing mitigation was flagged by Microsoft in a post mortem of last month’s zero-day attack that hit businesses using the SolarWinds Serv-U Managed File Transfer and Serv-U Secure FTP products.

Microsoft originally shipped the mitigation -- called ASLR (Address Space Layout Randomization) in Windows Vista back in 2006 as part of a larger plan to make it more difficult to automate attacks against the operating system.

However, according to Microsoft’s newly minted Offensive Research & Security Engineering team, SolarWinds developers failed to enable ASLR compatibility in some modules.

“Enabling ASLR is a simple compile-time flag.  [It] is a critical security mitigation for services which are exposed to untrusted remote inputs, and requires that all binaries in the process are compatible in order to be effective at preventing attackers from using hardcoded addresses in their exploits, as was possible in Serv-U,” Microsoft said.

The Redmond team said attackers operating out of China used DLLs compiled without address space layout randomization (ASLR) loaded by the Serv-U process to facilitate exploitation of the vulnerability, tracked as CVE-2021-35211.

“We recommended enabling ASLR compatibility for all binaries loaded in the Serv-U process,” the company said.

[ READ: SolarWinds Confirms New Zero-Day Flaw Under Attack ]

The July zero-day attack, which was completely unrelated to the SUNBURST supply chain compromise, took aim at a remote code execution flaw in the SolarWinds Serv-U FTP product in what was described as “limited, targeted attacks.”

From the Microsoft post-mortem:

As we knew this was a remote, pre-auth vulnerability, we quickly constructed a fuzzer focused on the pre-auth portions of the SSH handshake and noticed that the service captured and passed all access violations without terminating the process. It immediately became evident that the Serv-U process would make stealthy, reliable exploitation attempts simple to accomplish. 

We concluded that the exploited vulnerability was caused by the way Serv-U initially created an OpenSSL AES128-CTR context. This, in turn, could allow the use of uninitialized data as a function pointer during the decryption of successive SSH messages. Therefore, an attacker could exploit this vulnerability by connecting to the open SSH port and sending a malformed pre-auth connection request. We also discovered that the attackers were likely using DLLs compiled without address space layout randomization (ASLR) loaded by the Serv-U process to facilitate exploitation.

The company confirmed that SolarWinds has patched the underlying vulnerability but there is no word on whether ALSR has been enabled in the problematic products. 

Related: Everything You Need to Know About the SolarWinds Attack 

Related: 'Sunspot' Malware Used to Insert Backdoor Into SolarWinds Product

Related: Kaspersky Connects SolarWinds Attack Code to Known Russian APT Group 

view counter
Ryan Naraine is Editor-at-Large at SecurityWeek and host of the popular Security Conversations podcast series. He is a journalist and cybersecurity strategist with more than 20 years experience covering IT security and technology trends. Ryan has built security engagement programs at major global brands, including Intel Corp., Bishop Fox and Kaspersky GReAT. He is a co-founder of Threatpost and the global SAS conference series. Ryan's career as a journalist includes bylines at major technology publications including Ziff Davis eWEEK, CBS Interactive's ZDNet, PCMag and PC World. Ryan is a director of the Security Tinkerers non-profit, and a regular speaker at security conferences around the world. Follow Ryan on Twitter @ryanaraine.