Wiki.js — это вики-приложение с открытым исходным кодом, созданное на Node.js. До версии 2.5.313 мутация user.update GraphQL принимала произвольный массив групп и применяла его непосредственно к базе данных без проверки предоставленных идентификаторов групп. Резолвер передает аргументы вызывающего объекта прямо в модель без какой-либо проверки владения или ограничений на то, какие группы могут быть назначены.
Пользователь с Manage:users — разрешение, которое обычно делегируется модераторам вики для управления учетными записями — может установить groups:[1] в своей учетной записи для самостоятельного назначения в группу «Администраторы». После повторной аутентификации новый JWT переносит Manage:System, предоставляя полный доступ администратору сайта за один вызов мутации. Эта уязвимость исправлена в версии 2.5.313.
Показать оригинальное описание (EN)
Wiki.js is an open source wiki app built on Node.js. Prior to 2.5.313, the users.update GraphQL mutation accepts an arbitrary groups array and applies it directly to the database with no validation of the group IDs supplied. The resolver passes the caller's arguments straight to the model without any ownership check or restriction on which groups can be assigned. A user with manage:users — a permission typically delegated to wiki moderators for account management — can set groups:[1] on their own account to self-assign to the Administrators group. After re-authentication, the fresh JWT carries manage:system, granting full site administrator access in a single mutation call. This vulnerability is fixed in 2.5.313.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Requarks Wiki.Js
cpe:2.3:a:requarks:wiki.js:*:*:*:*:*:*:*:*
|
— |
2.5.313
|