← Back to Feed CACHED · 2026-10-15 08:29:31 · CACHE_KEY CVE-2026-105134
CVE-2026-105134 · CWE-77 · Disclosed 2026-10-04

AhsayCBS Replication Receiver Unauthenticated OS Command Injection via Path Traversal

ASSESSED — NOISGATE
Vendor
—
—
—
Reassessed
—
—
—
Verdict: —
Do you agree?
01 · The Real Story

Someone left the vault door open and the guards asleep, and thieves are already inside mining your gold

CVE-2026-105134 is an OS command injection / path-traversal flaw in Ahsay AhsayCBS — a centralized backup management console used primarily by MSPs and system integrators. The vulnerable endpoint is /rps/api/json/UpdateReceivers.do in the Replication Receiver component, where attacker-controlled headers (UserHome, TopDir) pass through a path sanitizer that escapes % and : but leaves ../ completely untouched. An attacker chains this with CVE-2026-105133, a trivial authentication bypass ("FromServlet":"Y" in the JSON body skips checkSysPwd() entirely), to create a rogue replication receiver, upload a JSP webshell via directory traversal into the Tomcat webapps/rps directory, and execute arbitrary commands as NT AUTHORITY\SYSTEM on Windows or root on Linux. Affected versions span all AhsayCBS v7 through v10.3.4. The correct fix is hotfix v10.3.4.45 (for v10) or v9.15.2.70 (for v7–v9), released October 12, 2026 — note that the initially published 'fix' version 10.3.4.0 was incomplete and remains exploitable.

The vendor CVSS 10.0 is earned and accurate. This is a zero-click, unauthenticated, remotely exploitable chain that runs as the highest system privilege on a backup control plane. The S:C (Changed scope) is appropriate: a single compromised AhsayCBS console manages backup jobs, credentials, and data for potentially dozens of downstream client organizations in MSP deployments. Huntress observed active exploitation within 72 hours of disclosure, CISA added it to KEV on October 14, and Horizon3 published a full PoC. The only quibble is that the CVSS 10.0 technically scores CVE-2026-105134 as standalone-exploitable without authentication, when it actually depends on the companion auth bypass (CVE-2026-105133) — but since the auth bypass is trivially chainable and the PoC automates both in a single script, the practical severity is indistinguishable from a true CVSS 10.0.

"Unauth RCE on backup servers, actively exploited, KEV-listed — patch or isolate now"
02 · The Attack Path

5 steps from start to impact.

STEP 01

Discover internet-facing AhsayCBS instance

The attacker uses Shodan (http.title:"AhsayCBS") or broad HTTP scanning to identify AhsayCBS management consoles exposed to the internet. AhsayCBS runs on Tomcat with an embedded JRE and typically listens on ports 443/8443. MSP deployments routinely expose the console for remote client management.
Conditions required:
  • AhsayCBS management interface reachable from the internet or attacker's network position
Where this breaks in practice:
  • Well-configured deployments restrict management interface to VPN or allowlisted IPs — but MSP use cases frequently require broad access
Detection/coverage: Shodan dork http.title:"AhsayCBS" identifies exposed instances. GreyNoise may tag scanning activity targeting /rps/api/json/ endpoints.
STEP 02

Bypass authentication via CVE-2026-105133

The attacker sends a JSON POST to any /rps/api/json/*.do endpoint with "FromServlet":"Y" in the request body. The JSONApi.execute() base class reads this flag directly from user-supplied JSON and sets an internal boolean that causes checkSysPwd() to be skipped entirely. No credentials, tokens, or session cookies are required. Tool: Horizon3 PoC (horizon3ai/AhsayCBS-Auth-Bypass-RCE).
Conditions required:
  • HTTP(S) connectivity to the AhsayCBS API
Where this breaks in practice:
  • None — the bypass is a single JSON field injection with no complexity or race conditions
Detection/coverage: Sigma rules published by Huntress detect FromServlet in API request bodies. WAF rules matching FromServlet in POST payloads to /rps/api/json/ can block this.
STEP 03

Create a rogue replication receiver

With authentication bypassed, the attacker calls UpdateReceivers.do with Id=0 to create a new V7 replication receiver under their control. They specify login credentials, a password, and a SystemHome directory. The receiver creation is a legitimate API action repurposed as an attack primitive — it gives the attacker a credentialed upload channel for the next step. Tool: Horizon3 PoC automates this step.
Conditions required:
  • Successful auth bypass from step 2
Where this breaks in practice:
  • None — the API action is fully functional and does not validate the caller's authorization level beyond the already-bypassed authentication
Detection/coverage: Audit AhsayCBS for unexpected replication receivers. Monitor for UpdateReceivers.do calls creating receivers with Id=0.
STEP 04

Upload JSP webshell via path traversal

The attacker uses the rogue receiver's file upload channel (authenticated via base64-encoded X-RSW-Request-* headers). The getReplicatedPath() function constructs destination paths from attacker-controlled UserHome and TopDir headers. The path sanitizer (FileList.a()) only escapes % and :, leaving ../ intact. By setting UserHome to ../../webapps/rps, the uploaded .jsp file lands directly in the web-accessible Tomcat directory. Tool: Horizon3 PoC delivers status.jsp webshell.
Conditions required:
  • Rogue receiver created in step 3
  • AhsayCBS file system layout follows default installation paths
Where this breaks in practice:
  • Custom installation paths could break the traversal — but defaults are used in the vast majority of deployments
Detection/coverage: Monitor for .jsp file creation in AhsayCBS webapps/ directories. Huntress Sigma rules cover this artifact.
STEP 05

Execute commands as SYSTEM/root

The attacker accesses the uploaded webshell at /rps/status.jsp (or similar). On Windows, AhsayCBS runs as NT AUTHORITY\SYSTEM; on Linux, as root. The attacker has full operating system control. Observed post-exploitation includes XMRig miner deployment (edge.exe), persistence via MicrosoftEdgeUpdateSvc Windows service, and PowerShell-based defense evasion (Taskgmr.ps1). Tool: Any browser or curl for webshell access; Horizon3 PoC automates execution + cleanup.
Conditions required:
  • Webshell successfully placed in step 4
Where this breaks in practice:
  • EDR on the host may detect webshell execution or child processes spawning from cbssvcX64.exe — but many backup servers lack EDR agents
Detection/coverage: Monitor for suspicious child processes from cbssvcX64.exe (Windows) or CBS JVM (Linux). Four Sigma rules from Huntress cover the full chain. File integrity monitoring on webapps directories.
03 · Compensating Control

1
CRITICAL 10.0→MEDIUM 5.5
SEVERITY REDUCED
Block all internet access to AhsayCBS management interface immediately — Place the AhsayCBS console behind a VPN or restrict inbound access to management ports (443/8443) via firewall rules to explicitly allowlisted administrator IPs. This breaks step 1 of the attack chain and is the single highest-impact control. The entire observed campaign targets internet-exposed instances. Deploy within the noisgate mitigation SLA of ≤3 days (CRITICAL) — given KEV status and active exploitation, deploy within hours.
2
CRITICAL 10.0→IGNORE 0.0
SEVERITY REDUCED
Apply hotfix 10.3.4.45 (v10) or 9.15.2.70 (v7–v9) and reboot — This is the definitive remediation. Do NOT stop at version 10.3.4.0 — it is still vulnerable. For v7/v8, upgrade to v9.15.0.0 first, then apply the hotfix. Verify the hotfix version in the CBS admin console after reboot. Deploy within the noisgate remediation SLA of ≤90 days (CRITICAL) — given KEV status, treat as immediate priority.
3
CRITICAL 10.0→CRITICAL 10.0
Hunt for existing compromise indicators — Before patching, assume breach on any internet-exposed instance. Check for: (1) unexpected .jsp files in webapps/rps/ or webapps/obs/ directories, (2) rogue replication receivers in CBS admin, (3) MicrosoftEdgeUpdateSvc Windows service, (4) processes edge.exe/msedge.exe running from non-standard paths, (5) cbssvcX64.exe spawning cmd.exe/powershell.exe, (6) connections to xmr.kryptex[.]network:8029. If any IOCs are found, reimage from trusted backups and rotate all credentials stored in CBS.
4
CRITICAL 10.0→HIGH 7.5
SEVERITY REDUCED
Deploy WAF rule blocking FromServlet in API requests — If immediate patching is not possible, configure a WAF or reverse proxy to inspect POST bodies to /rps/api/json/*.do endpoints and reject any request containing the string FromServlet. This breaks the auth bypass (CVE-2026-105133) that enables the chain. This is a stopgap — not a substitute for patching — and may break legitimate replication workflows if the application uses this field internally.
5
CRITICAL 10.0→HIGH 8.0
SEVERITY REDUCED
Install EDR agent on AhsayCBS hosts — Many backup servers lack endpoint detection agents. Deploying EDR will detect webshell execution, suspicious child processes from cbssvcX64.exe, and post-exploitation activity like XMRig deployment. This does not prevent initial exploitation but limits post-compromise dwell time and damage.
What doesn't work
  • Network segmentation alone does not help if the AhsayCBS console must remain internet-facing for MSP client access — the attack chain works over the same HTTPS port used for legitimate management.
  • Antivirus signature scanning is insufficient — the webshell is a simple JSP file that may not trigger static signatures, and the XMRig binary is frequently repacked to evade detection.
  • Changing the default CBS admin password does not mitigate this chain — CVE-2026-105133 bypasses the password check entirely regardless of password strength.
  • Upgrading to AhsayCBS 10.3.4.0 (without the .45 hotfix) does NOT fix the vulnerability — this was the vendor's incomplete initial patch and remains exploitable.
04 · Intelligence Metadata

The supporting signals.

In-the-Wild StatusActively exploited. Huntress first observed exploitation October 7, 2026 at 23:20 UTC — 72 hours after NVD disclosure. Five organizations confirmed targeted within 24 hours. CISA added to KEV on October 14, 2026. Campaign deploys XMRig cryptominers and JSP webshells.
PoC AvailabilityPublic, weaponized PoC. Horizon3 (Zach Hanley) published full exploit chain at github.com/horizon3ai/AhsayCBS-Auth-Bypass-RCE — automates auth bypass, receiver creation, webshell upload, command execution, and cleanup. A second lab repo exists at RayanAlmulhim/CVE-2026-105134-lab.
EPSS1.843% probability of exploitation in 30 days (79th percentile). Given that active exploitation is already confirmed, EPSS is lagging reality — treat as 100% exploited.
CISA KEVListed. Added October 14, 2026. Companion CVE-2026-105133 also listed same date. BOD 26-04 applies to FCEB agencies.
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H = 10.0. Network-reachable, low complexity, no privileges, no user interaction, changed scope. CVSS 4.0 score: 9.3. The Changed scope reflects MSP multi-tenant blast radius.
Affected VersionsAhsayCBS v7 through v10.3.4 (inclusive). Initial 'fix' v10.3.4.0 was incomplete and remains exploitable. NVD incorrectly listed 10.3.4 as patched.
Fixed Versionsv10: hotfix 10.3.4.45 (released Oct 12, 2026). v7–v9: hotfix 9.15.2.70. v7/v8 must first upgrade to v9.15.0.0 then apply hotfix. Server reboot required after patching.
Threat Actor TTPsPayload hosting on Alibaba Cloud OSS (imagefiles-backup.oss-ap-southeast-7.aliyuncs[.]com). XMRig miner as edge.exe, NSSM wrapper as msedge.exe, persistence via MicrosoftEdgeUpdateSvc service, WinRing0x64.sys kernel driver for hardware-level mining, mining pool xmr.kryptex[.]network:8029. Huntress notes Taskgmr.ps1 appears AI-assisted.
Scanning/ExposureShodan dork http.title:"AhsayCBS" identifies exposed consoles. AhsayCBS is niche (MSP-focused, smaller installed base than Veeam/Commvault) but deployments are frequently internet-facing by design. No published instance count available.
ResearcherDiscovered in-the-wild and reported by Huntress (October 8, 2026). Technical root-cause analysis and PoC by Zach Hanley, Horizon3.ai.

Sources.

  1. Horizon3 Technical Analysis — Zach Hanley
  2. Huntress Blog — Threat Actors Exploit AhsayCBS Flaws
  3. Huntress Support Advisory — October AhsayCBS
  4. CISA KEV Addition Alert — October 14, 2026
  5. GitHub Advisory GHSA-mxj3-2x8q-2rh9
  6. Rescana — AhsayCBS Exploit Chain Analysis
  7. Horizon3 PoC Repository
  8. ThreatFrontier — AhsayCBS Exploited, Patch Status
05 · The Call

Final Verdict
= UNCHANGED to CRITICAL (10.0/10)

Why this verdict

  • Unauthenticated remote RCE with zero friction: The chain requires two CVEs but both are trivially exploitable — the auth bypass is a single JSON field (FromServlet:Y), and the path traversal/command injection requires no special conditions beyond default installation paths. The public Horizon3 PoC automates the entire sequence in a single script. There is no meaningful attacker friction at any step.
  • Active exploitation and KEV listing override any theoretical downgrade: Exploitation began October 7 — 72 hours post-disclosure. CISA KEV-listed October 14. The EPSS is lagging at 1.8% but the threat is confirmed present-tense. This is not theoretical risk.
  • SYSTEM/root execution privilege: The CBS service runs as NT AUTHORITY\SYSTEM on Windows and root on Linux by default. There is no privilege escalation step — the attacker lands at maximum OS privilege immediately.
  • Incomplete initial patch creates remediation confusion: Version 10.3.4.0 was incorrectly listed as the fix by NVD but remains exploitable. Defenders who patched to 10.3.4.0 believing they were safe are still vulnerable. Only hotfix 10.3.4.45 (v10) or 9.15.2.70 (v7–v9) actually closes the chain.
  • Role multiplier — Backup/DR infrastructure (canonical high-value role): AhsayCBS is *definitionally* backup infrastructure. 100% of AhsayCBS installs occupy this high-value role. Compromise of a single AhsayCBS console grants access to all backup jobs, stored credentials, and backup data across every tenant/client managed through it. In MSP deployments, one compromised server can cascade to dozens of downstream organizations. The blast radius is supply-chain-scale: backup deletion enables ransomware, backup data exfiltration exposes regulated data across multiple clients, and credential harvesting enables lateral movement into client environments. The observed campaign is currently limited to cryptomining, but the access level trivially supports data theft, ransomware preparation, or supply-chain attacks. This floors the verdict at CRITICAL.

Why not higher?

There is no score higher than 10.0 / CRITICAL. The vendor assessment is accurate and the real-world conditions confirm it.

Why not lower?

Downgrading below CRITICAL would require evidence that either (a) the attack chain has meaningful friction — it does not; every step is trivial and automated — or (b) the target population is negligible — it is not; AhsayCBS is canonically backup infrastructure and MSP deployments amplify blast radius to supply-chain scale — or (c) exploitation is theoretical — it is confirmed active with KEV listing. The only observed campaign payload (cryptomining) is less severe than the *access level permits*, but noisgate scores on capability, not observed intent. A SYSTEM-level webshell on a backup server is one vssadmin delete shadows away from ransomware enablement.

06 · Verification

Crowdsourced verification payload.

Run this script on each AhsayCBS host (Linux or Windows via WSL/Git Bash) as any user with read access to the CBS installation directory. Invoke with: bash check_ahsaycbs_cve2026105134.sh /opt/ahsaycbs (Linux) or bash check_ahsaycbs_cve2026105134.sh /c/AhsayCBS (Windows via Git Bash). No network access or elevated privileges required — it performs a local version check only.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# check_ahsaycbs_cve2026105134.sh — CVE-2026-105134 local version checker
# Usage: bash check_ahsaycbs_cve2026105134.sh <CBS_INSTALL_DIR>
# Output: VULNERABLE / PATCHED / UNKNOWN
# Exit codes: 1=VULNERABLE, 0=PATCHED, 2=UNKNOWN

set -euo pipefail

CBS_DIR="${1:-}"
if [[ -z "$CBS_DIR" ]]; then
  echo "Usage: $0 <CBS_INSTALL_DIR>"
  echo "  e.g. $0 /opt/ahsaycbs"
  echo "  e.g. $0 /c/AhsayCBS"
  exit 2
fi

# Look for version info in known locations
VERSION_FILE=""
for candidate in \
  "$CBS_DIR/system/version.txt" \
  "$CBS_DIR/system/conf/version.properties" \
  "$CBS_DIR/conf/version.txt" \
  "$CBS_DIR/version.txt"; do
  if [[ -f "$candidate" ]]; then
    VERSION_FILE="$candidate"
    break
  fi
done

if [[ -z "$VERSION_FILE" ]]; then
  echo "[UNKNOWN] Could not locate AhsayCBS version file in $CBS_DIR"
  echo "  Manually check: CBS Admin Console > About, or look for version.txt"
  exit 2
fi

VERSION_RAW=$(cat "$VERSION_FILE" | grep -iE '(version|build)' | head -5)
echo "Detected version info from $VERSION_FILE:"
echo "$VERSION_RAW"
echo "---"

# Extract version number (e.g., 10.3.4.45 or 9.15.2.70)
VER=$(echo "$VERSION_RAW" | grep -oE '[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?' | head -1)

if [[ -z "$VER" ]]; then
  echo "[UNKNOWN] Could not parse version number from $VERSION_FILE"
  exit 2
fi

echo "Parsed version: $VER"

# Version comparison function
version_gte() {
  # Returns 0 if $1 >= $2
  printf '%s\n%s' "$2" "$1" | sort -t. -k1,1n -k2,2n -k3,3n -k4,4n -C
}

MAJOR=$(echo "$VER" | cut -d. -f1)

if [[ "$MAJOR" -ge 10 ]]; then
  # v10 branch: need >= 10.3.4.45
  if version_gte "$VER" "10.3.4.45"; then
    echo "[PATCHED] AhsayCBS $VER >= 10.3.4.45 — CVE-2026-105134 is fixed."
    exit 0
  else
    echo "[VULNERABLE] AhsayCBS $VER < 10.3.4.45 — CVE-2026-105134 applies!"
    echo "  Action: Apply hotfix 10.3.4.45 immediately and reboot."
    exit 1
  fi
elif [[ "$MAJOR" -ge 7 ]]; then
  # v7-v9 branch: need >= 9.15.2.70
  if version_gte "$VER" "9.15.2.70"; then
    echo "[PATCHED] AhsayCBS $VER >= 9.15.2.70 — CVE-2026-105134 is fixed."
    exit 0
  else
    echo "[VULNERABLE] AhsayCBS $VER < 9.15.2.70 — CVE-2026-105134 applies!"
    echo "  Action: Upgrade to 9.15.0.0 (if on v7/v8), then apply hotfix 9.15.2.70."
    exit 1
  fi
else
  echo "[UNKNOWN] AhsayCBS major version $MAJOR is outside known affected range (v7-v10)."
  exit 2
fi

# Also check for webshell IOCs
echo "\n--- IOC Check ---"
WEBSHELL_FOUND=0
for webdir in "$CBS_DIR/webapps/rps" "$CBS_DIR/webapps/obs"; do
  if [[ -d "$webdir" ]]; then
    SUSPECT=$(find "$webdir" -name '*.jsp' -newer "$webdir/WEB-INF/web.xml" 2>/dev/null || true)
    if [[ -n "$SUSPECT" ]]; then
      echo "[WARNING] Suspicious JSP files newer than web.xml in $webdir:"
      echo "$SUSPECT"
      WEBSHELL_FOUND=1
    fi
  fi
done
if [[ $WEBSHELL_FOUND -eq 0 ]]; then
  echo "No suspicious JSP files detected in webapps directories."
fi