Security

BGP Hijack Delivered a Backdoored Virtualizor Update

OrasecSeptember 3, 20264 min read

Written by the OraSec security research team — offensive security engineers and penetration testers.

bgp-hijack-virtualizor-update

<span style="white-space: pre-wrap;">A BGP hijack rerouted Softaculous update traffic for 22 hours, so Virtualizor servers pulled a backdoored package from an attacker-controlled host.</span>

The update came from the right domain over valid TLS. The route to the vendor had been stolen, so the traffic reached an attacker-controlled server instead.

What Happened?

Between 28 and 30 August 2026, attackers announced a BGP route they had no authority over, pulling Softaculous update traffic to a server they controlled. Any Virtualizor installation that checked for updates during one of the diverted routing intervals could have received the backdoored package.

AlbaHost, a hosting provider, reported finding the malicious modifications on 5 of its 34 Virtualizor hypervisor nodes. Virtualizor described the impact as a handful of servers and shipped Patch 9 with a scanning tool. (LowEndTalk, The Hacker News)

What Is BGP Hijacking?

BGP is how networks tell each other which IP ranges they can reach. It runs largely on trust: announce a route, and others generally believe you.

Here the attacker, AS62390, announced 162.55.80.0/24 — a more specific slice of Hetzner's legitimate 162.55.0.0/16. Routers prefer the most specific match, so the narrower announcement won. Upstream AS6204 accepted and propagated it. (BGPKIT)

The hijack ran in two waves totalling roughly 22 hours inside a 33-hour window. (BGPKIT)

What About RPKI?

The forged AS path retained Hetzner's AS24940 as the apparent origin. BGP researchers Doug Madory and Ben Cartwright-Cox reported that Hetzner's ROA allowed /24 announcements, which would make the forged-origin route RPKI-valid. However, a separate post-incident validation reported a maxLength of /16. Without a point-in-time ROA snapshot from the attack window, the exact RPKI status should be presented as disputed rather than settled. (Ars Technica)

RPKI Route Origin Validation checks whether the apparent origin AS is authorised to announce the prefix and whether the announcement respects the ROA's permitted prefix length. It does not cryptographically prove that the entire AS path is genuine.

Stronger path-validation mechanisms such as ASPA and BGPsec can address additional classes of routing manipulation, but deployment remains limited and uneven. (APNIC)

What Did the Backdoor Do?

On AlbaHost's affected systems, malicious commands had been inserted into three legitimate Virtualizor files, which then:

  • Added an attacker-controlled SSH key to the root account
  • Installed a Java 17 runtime and ran a Java payload as root
  • Persisted through a systemd unit named java-jre-update.service
  • Created an account called proxyuser

Observed infrastructure and indicators included cdn[.]nerat[.]cc, connect[.]ne-rat[.]xyz, and a Java connection to 31.77.220[.]138:2025. (LowEndTalk)

What Should You Do Now?

If you run Virtualizor:

  • Run the vendor's Patch 9 scanner
  • Check for /etc/systemd/system/java-jre-update.service and /tmp/widdow.jar
  • Look for a proxyuser account and unexpected keys in root's authorized_keys
  • Review outbound connections to the domains and address above
  • Rotate API keys and restrict them to trusted addresses
  • If java-jre-update.service is present, preserve evidence and contact Virtualizor support before deleting it

Why Does It Matter?

The trust chain broke below the layer anyone was watching. Domain correct, certificate valid, vendor genuine — and the packets went somewhere else. Cryptographic package-signature verification would have provided an independent trust check even after routing and TLS validation were defeated.

Common Mistakes

  • Treating RPKI as solved routing security. It validates the origin and prefix length, not the whole AS path.
  • Trusting TLS alone to prove the real server. In this incident, the BGP hijack also diverted the CA's automated domain-validation traffic, allowing the attacker to obtain a valid Let's Encrypt certificate.
  • Assuming vendor update clients independently verify downloaded packages. Virtualizor confirmed that its update client did not yet cryptographically verify update packages.
  • Leaving hypervisors out of scope. Root on the host can give an attacker powerful access to, or control over, the guests it runs.

How to Reduce the Risk

  • Publish ROAs for your own prefixes, and monitor for unexpected announcements covering them
  • Alert on new systemd units, new local accounts, and changes to root's authorized_keys
  • Verify every update with a cryptographic signature anchored to a vendor signing key distributed independently of the download channel
  • Constrain outbound traffic from hypervisors, so unknown destinations fail

What Should Security Testing Cover?

Ask your testers to establish:

  • Whether your software update paths verify signatures, or only TLS
  • Whether a new root SSH key or systemd service raises an alert anyone acts on

How OraSec Can Help

Update integrity and management-plane exposure sit outside most testing scopes, which is where this attack landed. OraSec's network infrastructure penetration testing examines what your management systems trust, and what they can reach.

Conclusion

Nobody was phished. No known Virtualizor software vulnerability was required to deliver the malicious update. The attacker changed which server the internet believed was the vendor's, for 22 hours, and that was enough.

FAQs

Would RPKI have prevented this? Reports disagree. The forged path kept the legitimate origin ASN, and whether the announcement was RPKI-valid depends on Hetzner's ROA prefix length at the time, which is disputed.

How do I know if I was affected? Run the vendor scanner and check for the systemd unit, the proxyuser account, and unexpected root SSH keys.

Is patching enough? Only if the host was never compromised. If indicators are present, treat the hypervisor as compromised and investigate its guests for possible follow-on access or tampering.

Could this happen to other software? Yes. Any updater that relies only on transport security without independently authenticating the downloaded package is exposed to similar supply-chain delivery risks.

Explore related services

Need hands-on help? Our security testing services put this research into practice.

jfrog-artifactory-vulnerability

JFrog Artifactory Vulnerability: Exploited in Three Days

JFrog released patches on 28 August 2026. By 1 September, watchTowr was publicly reporting active exploitation — roughly three and a half days after disclosure. What Is the Vulnerability? CVE-2026-82329 is an authentication bypass in JFrog Artifactory, rated CVSS 9.8. In default configurations, an unauthenticated attacker with network access can obtain administrative privileges, with no user interaction required. Self-hosted deployments require customer action. JFrog says affected cloud envi

·3 min read
dll-sideloading-signed-software

DLL Sideloading: How ValleyRAT Hides Behind Signed Software

The malicious code was not signed. The program that loaded it was. What Is DLL Sideloading? When an application loads a DLL by name rather than a fully qualified path, Windows searches a defined set of locations. If an attacker can place a malicious DLL in a directory searched before the legitimate copy, the application may load it. Microsoft documents this as DLL preloading/binary planting behavior. (Microsoft Learn) The signed executable runs. The signature checks out. The malicious DLL ex

·3 min read
clickfix-attack-terminalfix

TerminalFix: The ClickFix Attack That Uses Windows Terminal

The victim is not tricked into opening an attachment. They are asked to prove they are human, and they do it by pasting a command into their own terminal. Microsoft documented the campaign, which it calls TerminalFix, on 28 August 2026. What Is a ClickFix Attack? ClickFix is social engineering that persuades the user to run the command themselves. A web page shows a fake error or verification prompt, then supplies instructions: copy this text, open this box, paste, press Enter. The initial

·3 min read