OneUptime — это решение для мониторинга и управления онлайн-сервисами. До версии 10.0.19 обратный вызов приложения GitHub OneUptime доверяет контролируемому злоумышленником состоянию и значениям install_id и обновляет Project.gitHubAppInstallationId с помощью isRoot: true без проверки того, что вызывающая сторона авторизована для целевого проекта. Это позволяет злоумышленнику перезаписать привязку установки приложения GitHub другого проекта.
Связанным конечным точкам GitHub также не хватает эффективной авторизации, поэтому действительный идентификатор установки можно использовать для перечисления репозиториев и создания записей CodeRepository в произвольном проекте. Эта уязвимость исправлена в версии 10.0.19.
Показать оригинальное описание (EN)
OneUptime is a solution for monitoring and managing online services. Prior to 10.0.19, OneUptime's GitHub App callback trusts attacker-controlled state and installation_id values and updates Project.gitHubAppInstallationId with isRoot: true without validating that the caller is authorized for the target project. This allows an attacker to overwrite another project's GitHub App installation binding. Related GitHub endpoints also lack effective authorization, so a valid installation ID can be used to enumerate repositories and create CodeRepository records in an arbitrary project. This vulnerability is fixed in 10.0.19.
Характеристики атаки
Последствия
Строка CVSS v3.1