On April 25, 2020, Sophos published a knowledge base
article (KBA) 135412 which warned about a
pre-authenticated SQL injection (SQLi) vulnerability, affecting the XG Firewall
product line. According to Sophos this issue had been actively exploited at
least since April 22, 2020. Shortly after the knowledge base article, a detailed analysis of the so called Asnarök operation
was published. Whilst the KBA focused solely on the SQLi, this write up clearly indicated
that the attackers had somehow extended this initial vector to achieve remote code execution (RCE).
The criticality of the vulnerability prompted us to immediately warn our clients of the issue.
As usual we provided lists of exposed and affected systems.
Of course we also started an investigation into the technical details of the vulnerability.
Due to the nature of the affected devices and the prospect of RCE, this vulnerability sounded like a perfect candidate for a perimeter breach in upcoming red team assessments.
However, as we will explain later, this vulnerability will most likely not be as useful for this task as we first assumed.
Our analysis not only resulted in a working RCE
exploit for the disclosed vulnerability (CVE-2020-12271) but also led to the discovery of
another SQLi, which could have been used to gain code execution (CVE-2020-15504). The
criticality of this new vulnerability is similar to the one used in the
Asnarök campaign: exploitable pre-authentication either via an exposed
user or admin portal. Sophos quickly reacted to our bug report, issued
hotfixes for the supported firmware versions and released new firmware
versions for v17.5 and v18.0 (see also the Sophos Community Advisory).