OneUptime — это решение для мониторинга и управления онлайн-сервисами. До версии 10.0.21 пользователь с низким уровнем привилегий мог обойти авторизацию и изоляцию клиента в OneUptime v10.0.20 и более ранних версиях, отправив поддельный заголовок is-multi-tenant-query вместе с управляемым заголовком projectid. Поскольку сервер доверяет этому заголовку, предоставленному клиентом, внутренние проверки разрешений в BasePermission пропускаются, а область действия клиента отключается.
Это позволяет злоумышленникам получить доступ к данным проекта, принадлежащим другим арендаторам, прочитать конфиденциальные поля пользователя через вложенные отношения, утечь открытый текст resetPasswordToken, сбросить пароль жертвы и полностью завладеть учетной записью. Это приводит к раскрытию данных между арендаторами и полному захвату учетных записей. Эта уязвимость исправлена в версии 10.0.21.
Показать оригинальное описание (EN)
OneUptime is a solution for monitoring and managing online services. Prior to 10.0.21, a low‑privileged user can bypass authorization and tenant isolation in OneUptime v10.0.20 and earlier by sending a forged is-multi-tenant-query header together with a controlled projectid header. Because the server trusts this client-supplied header, internal permission checks in BasePermission are skipped and tenant scoping is disabled. This allows attackers to access project data belonging to other tenants, read sensitive User fields via nested relations, leak plaintext resetPasswordToken, and reset the victim’s password and fully take over the account. This results in cross‑tenant data exposure and full account takeover. This vulnerability is fixed in 10.0.21.
Характеристики атаки
Последствия
Строка CVSS v3.1