W OpenStack Cyborg przed wersją 16.0.1 API Accelerator Request (ARQ) nie wymusza posiadania zasobów na poziomie projektu — kolumna project_id w bazie danych nigdy nie jest wypełniana (NULL dla każdego ARQ), zapytania bazodanowe nie mają filtrowania projektów, a sprawdzenia uprawnień są self-referential (dekorator authorize_wsgi porównuje project_id wywołującego ze sobą zamiast z zasobem docelowym). Każdy uwierzytelniony użytkownik bez uprawnień administratora może wykonywać różne działania, takie jak usuwanie ARQ powiązanych z instancjami innych projektów, co prowadzi do cross-tenant denial of service.
▸ Pokaż oryginał (EN)
In OpenStack Cyborg before 16.0.1, the Accelerator Request (ARQ) API does not enforce project ownership at any layer. The project_id column in the database is never populated (NULL for every ARQ), database queries have no project filtering, and policy checks are self-referential (the authorize_wsgi decorator compares the caller's project_id with itself rather than the target resource). Any authenticated non-admin user can complete various actions such as deleting ARQs bound to other projects' instances, aka cross-tenant denial of service.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L