Remote Support and Privileged Remote Access
CVE-2026-1731: Pre-auth command injection in BeyondTrust Remote Support
A crafted WebSocket handshake runs OS commands on self-hosted Remote Support and older PRA appliances, with no login (CVSS 9.9). Exploited since February 10, 2026, and flagged by CISA as used in ransomware attacks.
Published Updated
Affected and fixed versions
| Product / branch | Fixed in |
|---|---|
| Remote Support 21.3 to 25.3.1 | Patch BT26-02-RS, or 25.3.2 or later |
| Privileged Remote Access 22.1 to 24.3.4 | Patch BT26-02-PRA, or 25.1.1 or later |
| Remote Support older than 21.3, PRA older than 22.1 | No patch. Upgrade to a supported version, then patch |
| Remote Support and PRA SaaS | Patched by BeyondTrust on 2 February 2026, no action needed |
Always confirm against the vendor advisory, which lists every fixed hotfix.
What it is
BeyondTrust Remote Support (formerly Bomgar) and older Privileged Remote Access appliances accept client connections over a WebSocket at /nw. During the handshake, the client sends a remoteVersion value, which a shell script on the appliance, thin-scc-wrapper, compares in a bash arithmetic expression. Bash evaluates command substitutions such as $(...) inside those expressions, so a crafted version string runs commands on the appliance. No login and no user interaction.
Commands run as the appliance’s “site user”, not root. Unit 42 notes that this still gives control over the appliance’s configuration, the support sessions it brokers and their traffic. For a tool whose job is remote access into your endpoints, that’s a lot.
It is a variant of CVE-2024-12356, the same WebSocket path and the same parameter, which Silk Typhoon used against the U.S. Treasury in 2024. An earlier fix added input checks that, per Unit 42, were not complete.
Exploitation started within a day of a public proof of concept on February 10. Attackers used it to plant web shells and backdoors, create domain admin accounts, move laterally and steal data, and CISA has flagged it as used in ransomware attacks.
Am I affected?
You’re affected if you run a self-hosted (on-premises or your own cloud VM) appliance on:
- Remote Support 25.3.1 or earlier, or
- Privileged Remote Access 24.3.4 or earlier,
and the BT26-02 patch has not been applied. Internet-facing appliances are the ones being attacked. BeyondTrust says observed exploitation was limited to internet-facing, self-hosted appliances still unpatched on February 9, 2026.
SaaS instances of both products were patched by BeyondTrust on 2 February 2026. Privileged Remote Access 25.1 and later is not affected.
Appliances subscribed to automatic updates in the /appliance interface received the patch on 2 February. Check that interface to confirm your version and whether BT26-02 is installed. If it is missing, you are exposed.
What to do
1. Patch or upgrade now.
- Remote Support 21.3 to 25.3.1: apply BT26-02-RS, or upgrade to 25.3.2 or later.
- Privileged Remote Access 22.1 to 24.x: apply BT26-02-PRA, or upgrade to 25.1.1 or later.
- Remote Support older than 21.3 or PRA older than 22.1: the patch doesn’t apply. Upgrade to a supported version first, then patch.
2. Turn on automatic updates in the /appliance interface, if your change process allows it. That’s how most appliances got this fix before the advisory was public.
3. If the appliance was internet-facing and unpatched on or after February 9, 2026, assume compromise. BeyondTrust asks these customers to open a Severity 1 support ticket citing BT26-02. Then:
- Hunt on the appliance and on every endpoint it can reach (Detection, below). Attackers ran commands on Windows hosts through the BeyondTrust client process there (
bomgar-scc.exe). - Remove accounts you didn’t create, in the appliance and in Active Directory. Arctic Wolf saw attackers add new users to Domain Admins and Enterprise Admins.
- Rotate credentials stored in or brokered through the appliance, including any Vault entries and service accounts.
- Look for web shells and a modified Apache setup on the appliance. Unit 42 saw a dropper that restored a clean config file on disk while the malicious config stayed loaded, so a file-level check alone is not enough. Work with BeyondTrust support on whether to rebuild.
Detection
On the appliance and at the network edge:
- WebSocket connections to
/nwfrom unknown addresses, with anX-Ns-Companyheader and the subprotocolingredi support desk customer thin(Rapid7). Requests toget_portal_infojust before, which attackers used to read the company name (watchTowr, via Help Net Security). - A
remoteVersionvalue that contains$(, backticks or the patterna[$(cmd)]0from the proof of concept (Unit 42). On a patched appliance, attempts produce the log lineERROR: Invalid remote version - must be a 1-2 digit number(Rapid7). - Outbound DNS lookups or connections from the appliance to OAST services (
oast.pro,oast.fun,oastify.com). Attackers used them to confirm code execution, sending the hex-encoded hostname as a subdomain. - New PHP files in the web root, such as
aws.php,file_save.phpormaintenance.php, and one-line PHP shells keyed on aGETparameter (aaaa) or a query key (vjwr) (Unit 42). - Downloads with
wget,curl,pythonorbusyboxchained together, a script namedblue.drx, ligolo-ng tunnel agents, or reverse shells on port 4444. - A full PostgreSQL dump or archives of configuration files staged for upload.
- Unit 42 also saw a Python script that briefly replaced the admin (user ID 1) password hash for 60 seconds, then restored it. Review admin logins around any suspicious activity, even if the password still works.
On Windows endpoints reached through the appliance:
cmd.exeorpowershell.exestarted bybomgar-scc.exeand runningnet user ... /add /domain,net group "domain admins" ...,whoami,nltest,systeminfo,ipconfig /allor AD queries such as[adsiSearcher]"(ObjectClass=computer)"(Unit 42, Arctic Wolf).- Renamed SimpleHelp binaries such as
remote access.exein the root ofC:\ProgramData, created by Bomgar processes as SYSTEM, with the file description “SimpleHelp Remote Access Client”. Also look for AnyDesk, Nezha agents and Cloudflare tunnels you didn’t install. - PsExec pushing installers to many hosts, and Impacket SMB sessions early in the intrusion.
Indicators of compromise
Unit 42 calls its list best-effort; Darktrace rates its own indicators as likely or possible. Many addresses are rented servers and OAST services that rotate, so use them to hunt in past logs.
The .txt list has one IP per line and a fixed address, so a firewall can pull it as an External Dynamic List: https://patchtonight.com/iocs/CVE-2026-1731.txt
| Indicator | Type | Reported by |
|---|---|---|
| 23.162.40[.]187 | IP | Unit 42 |
| 37.19.221[.]180 | IP | Unit 42 |
| 45.61.150[.]96 | IPReverse shell on port 4444 | Unit 42 |
| 70.23.0[.]66 | IP | Unit 42 |
| 82.29.53[.]187 | IP | Unit 42 |
| 82.29.72[.]16 | IP | Unit 42 |
| 83.138.53[.]139 | IP | Unit 42 |
| 85.155.186[.]121 | IPServed the SimpleHelp client | Unit 42 |
| 92.223.44[.]134 | IP | Unit 42 |
| 98.10.233[.]76 | IP | Unit 42 |
| 134.122.13[.]34 | IPSparkRAT | Unit 42, Darktrace |
| 138.197.14[.]95 | IPSparkRAT, path /ws | Unit 42 |
| 142.111.152[.]50 | IP | Unit 42 |
| 144.172.103[.]200 | IPReverse shell on port 4444 | Unit 42 |
| 155.2.215[.]64 | IP | Unit 42 |
| 178.128.212[.]209 | IP | Unit 42 |
| 179.43.146[.]42 | IP | Unit 42 |
| 217.76.57[.]78 | IPLikely C2 | Darktrace |
| 195.154.119[.]194 | IPLikely C2 | Darktrace |
| 104.234.174[.]5 | IPPossible C2 | Darktrace |
| aliyundunupdate[.]xyz | DomainVShell C2, port 8084, path /slt | Unit 42 |
| avg.domaininfo.top | Host nameLikely C2 | Darktrace |
| d65sb7ngveucv5k2nm508abdsjmbn7qmn.oast.pro | Host nameOAST callback used to confirm execution | Unit 42 |
| q0r2e5q2dzbykcox9qmkptm12s8mwb.oastify.com | Host nameOAST callback used to confirm execution | Unit 42 |
| judiemkqjajsfzpidfjlowgl8nyrtd49x.oast.fun | Host nameOAST callback used to confirm execution | Unit 42 |
| hxxp://64[.]31[.]28[.]221/support | URL | Unit 42 |
| hxxp://134[.]122[.]13[.]34:8979/c | URLSparkRAT | Unit 42, Darktrace |
| hxxp://82[.]29[.]53[.]187:8778/app_cli | URL | Unit 42 |
| hxxps://transfer[.]weepee[.]io/7nZw7/blue.drx | URLLinux download-and-execute script | Unit 42 |
| hxxp://85[.]155[.]186[.]121/access | URLSimpleHelp | Unit 42 |
| hxxps://temp[.]sh/tQTSs/storm.exe | URL | Unit 42 |
| hxxps://64[.]95[.]10[.]115:23011/update.sh | URL | Unit 42 |
| hxxp://217[.]76[.]57[.]78:8009/index.js | URLLikely payload | Darktrace |
| hxxp://195[.]154[.]119[.]194/index.js | URLLikely payload | Darktrace |
| 9f431d5549a03aee92cfd2bdbbe90f1c91e965c99e90a0c9ad5a001f4e80c350 | SHA-256SparkRAT (SHA-256) | Unit 42 |
| 98a7b0900a9072bb40af579ec372da7b27af12b15868394df51fefe290ab176b | SHA-256VShell (SHA-256) | Unit 42 |
| 66cceb2c2f1d9988b501832fd3b559775982e2fce4ab38fc4ffe71b74eafc726 | SHA-256maintenance.php (SHA-256) | Unit 42 |
| 98442387d466f27357d727b3706037a4df12a78602b93df973b063462a677761 | SHA-256aws.php web shell (SHA-256) | Unit 42 |
| 679ee05d92a858b6fe70aeb6072eb804548f1732e18b6c181af122b833386afb | SHA-256d6 (SHA-256) | Unit 42 |
| 4762e944a0ce1f9aef243e11538f84f16b6f36560ed6e32dfd9a5f99e17e8e50 | SHA-256SimpleHelp installer (SHA-256) | Unit 42 |
| cc2bc3750cc5125a50466f66ae4f2bedf1cac0e43477a78ed2fd88f3e987a292 | SHA-256Bash script (SHA-256) | Unit 42 |
| 0ecc867ce916d01640d76ec03de24d1d23585eb582e9c48a0364c62a590548ac | SHA-256SHA-256, unlabeled in the source | Unit 42 |
| b6a15e1f2f3e1f651a5ad4a18ce39d411d385ac7 | SHA-256Likely payload (SHA-1) | Darktrace |
| 35da45aeca4701764eb49185b11ef23432f7162a | SHA-256Possible payload (SHA-1) | Darktrace |
| 28df16894a6732919c650cc5a3de94e434a81d80 | SHA-256Possible payload (SHA-1) | Darktrace |
Sources
Page changelog
- Full analysis published.
KEV status, EPSS score and vendor data refreshed automatically, last on 13 Oct 2026.