BeyondTrust Remote Support
CVE-2026-102764: Unauthenticated file upload in BeyondTrust Remote Support
An unauthenticated attacker can abuse flawed message origin checks in Remote Support to write files on the appliance and take it over (CVSS 9.3). Exploited as a zero-day since August 29, 2026 by a suspected China-nexus actor, and added to CISA's KEV catalog on October 16.
Published Updated
Affected and fixed versions
| Product / branch | Fixed in |
|---|---|
| Remote Support 24.3.1 to 26.2.3 (self-hosted) | Patch BT26-05-RS, applied from /appliance |
| Remote Support older than 24.3.1 (self-hosted) | Upgrade to a supported version, then apply BT26-05-RS |
| Remote Support SaaS | Patched by BeyondTrust. No action needed on the appliance |
| Privileged Remote Access | Not exploitable per BeyondTrust, but patched as a precaution |
Always confirm against the vendor advisory, which lists every fixed hotfix.
What it is
Remote Support’s internal messaging components don’t properly check where a message comes from (CWE-290, origin validation). An unauthenticated attacker on the network can abuse that to perform file operations on the appliance. Google’s analysis describes it as an arbitrary file upload, and the actor used it to drop a PHP webshell. BeyondTrust has not published more technical detail, saying it would put self-hosted customers at risk.
This was a zero-day. BeyondTrust says a suspected China-nexus espionage actor used it from August 29, 2026, weeks before the patch. Google tracks the actor as ARMORY CASTLE (formerly UNC5221); BeyondTrust also cites CrowdStrike’s name, WARP PANDA. BeyondTrust knows of two victims, one hosted by BeyondTrust and one self-hosted, and has seen no activity since August. Google warns the actor may now exploit it broadly, as it did with Ivanti bugs in 2024.
CISA added it to KEV on October 16 and requires action by October 19. CISA also asks for forensic triage, not just patching. Ransomware use is not reported.
This is a different bug from the earlier CVE-2026-1731.
Am I affected?
- Self-hosted Remote Support up to 26.2.3: yes, until you apply BT26-05-RS. The vendor record lists versions 0 through 26.2.3.
- Remote Support SaaS: BeyondTrust patched it automatically. The appliance needs no action, but if you suspect exposure, still rotate credentials (see below).
- Privileged Remote Access (PRA): BeyondTrust found no way to exploit it, but PRA shares the code and received the patch as a precaution.
Exposure is highest if the appliance was reachable from the internet. BeyondTrust’s page gives no menu path or command for checking the version, so use the appliance’s own admin interface or your records.
What to do
- Preserve evidence first. Google advises snapshotting the VM with memory and collecting reverse proxy, WAF and firewall logs before any change or reboot. The actor deletes on-appliance logs. BeyondTrust likewise says to image the appliance before rebuilding.
- Patch. On self-hosted 24.3.1 or later, apply BT26-05-RS from
/appliance. On anything older than 24.3.1, upgrade to a supported version and then apply the patch. Upgrading does not remove an existing compromise. - Harden exposure. BeyondTrust offers no workaround for this CVE. It recommends exposing only what users need, restricting admin interfaces to trusted networks, and limiting outbound traffic from the appliance. Its guides: Remote Support and PRA. Google also advises blocking TCP 19800 and the
/uidchanargepath. - If the appliance was internet-reachable on a vulnerable version, treat it as compromised. Google prefers a rebuild from a clean image, because host persistence survives reboots and config resets.
- Rotate credentials after patching or rebuilding. Google lists the Vault, Password Safe, PRA, API secrets, SAML keys, and any credentials typed into support sessions. BeyondTrust says to rotate everything the appliance stored or injected.
- If you find evidence of exploitation, open a Sev 1 support request citing “BT26-05”. BeyondTrust customers can also request a threat hunting package through its trust portal.
Detection
Hunt back to at least August 29, 2026. Local logs may be gone, so rely on external logs and your SIEM.
Network and proxy logs (Google):
- POSTs to
/app_84304470%2Ephp, and.phppaths outside the known Remote Support paths. - WebSocket upgrades to
/uidchanarge, or any traffic to TCP 19800.
Appliance files (Google). Check for:
mangoapi.phpin the web root. SAWFLY returns a 404 unless the request has the_c94mfePOST parameter./usr/bin/dbus-authd, a SUID-root shell copy./tmp/ingredi_ws, the BARECLAW SOCKS5 tunneler./home/bomgar/sbin/post_boot.d/zz-root-persist.- A
NOPASSWD: ALLline for the site service account in/ns/config/sudoers.template. - A
/uidchanargeroute in/ns/config/haproxy.conf. - Missing logs, including
/home/bomgar/log/bt-secrets.log*.
Google published YARA rules (G_Hunting_Webshell_SAWFLY_1, G_Hunting_Backdoor_BARECLAW_1) in its article.
Application events and sessions (Google, BeyondTrust):
user_changedevents raising Jump Item or Team roles from No Access to Administrator. Alsouser_added,api_accountandsecurity_providerevents with no change ticket./loginsuccesses from residential broadband or commercial VPN addresses, and admin logins outside business hours.- File-transfer events and sessions started by accounts whose roles changed.
- New MFA registrations on privileged accounts, and brokered credentials used outside a managed session.
- Gaps in syslog forwarding, especially a gap that starts and ends within one session.
Indicators of compromise
Google's article lists no IP addresses, domains or user agents, and redacts attacker IPs and admin usernames. A fuller indicator list is in Google's VirusTotal collection, which needs a free account.
| Indicator | Type | Reported by |
|---|---|---|
| dc14e215269a93fdbc4c1a80b984c23faf7af0911c6dbb85309796a6f2ae95fb | SHA-256SHA-256 of SAWFLY PHP webshell mangoapi.php | Google Threat Intelligence Group |
| 1f19b9a27d79c11bda00a1e8faf74a7fdd683d38ccef1b60df2fd0307e3aa462 | SHA-256SHA-256 of BARECLAW tunneler ingredi_ws | Google Threat Intelligence Group |
| /app_84304470%2Ephp | File pathStaging webshell, target of the exploit POST requests | Google Threat Intelligence Group |
| /%SITE_SERVICE_ACCOUNT%/ingredi/app/laravel/public/mangoapi.php | File pathSAWFLY webshell in the web root | Google Threat Intelligence Group |
| /usr/bin/dbus-authd | File pathSUID-root copy of /bin/sh | Google Threat Intelligence Group |
| /home/bomgar/sbin/post_boot.d/zz-root-persist | File pathPersistence script | Google Threat Intelligence Group |
| /tmp/ingredi_ws | File pathBARECLAW binary | Google Threat Intelligence Group |
| /uidchanarge | File pathWebSocket path HAProxy routes to BARECLAW, which listens on 127.0.0.1:19800 | Google Threat Intelligence Group |
Sources
Page changelog
- Full analysis published.
KEV status, EPSS score and vendor data refreshed automatically, last on 17 Oct 2026.