В GitHub Enterprise Server была обнаружена уязвимость неправильной авторизации, которая позволяла токену «пользователь-сервер», привязанному к установке приложения GitHub, выполнять определенные операции записи в общедоступных репозиториях за пределами предполагаемой области действия токена. Это было возможно, поскольку проверка авторизации только проверяла наличие у установки разрешений на чтение целевого репозитория, а не проверяла, что установке токена был явным образом предоставлен доступ к этому репозиторию. Злоумышленник, получивший межпользовательский токен жертвы, может создавать проблемы, оставлять комментарии, фиксировать комментарии и создавать частные отчеты об уязвимостях в любом общедоступном репозитории, выдавая себя за пользователя-жертву без каких-либо указаний на причастность приложения.
Эта уязвимость была устранена путем добавления проверки области репозитория для токенов взаимодействия пользователя с сервером, выдаваемых глобальными приложениями. Эта уязвимость затрагивала все версии GitHub Enterprise Server до 3.22 и была исправлена в версиях 3.21.2, 3.20.4, 3.19.8, 3.18.11, 3.17.17, 3.16.20. Об этой уязвимости сообщили через программу GitHub Bug Bounty.
Показать оригинальное описание (EN)
An incorrect authorization vulnerability was identified in GitHub Enterprise Server that allowed a user-to-server token scoped to a GitHub App installation to perform certain write operations on public repositories outside the token's intended scope. This was possible because the authorization check only verified that the installation had read permissions on the target repository rather than verifying that the token's installation was explicitly granted access to that repository. An attacker who obtained a victim's user-to-server token could create issues, issue comments, commit comments, and private vulnerability reports on any public repository, appearing as the victim user with no indication of the app involvement. This vulnerability was fixed by adding a repository scope check for user-to-server tokens issued by global apps. This vulnerability affected all versions of GitHub Enterprise Server prior to 3.22 and was fixed in versions 3.21.2, 3.20.4, 3.19.8, 3.18.11, 3.17.17, 3.16.20. This vulnerability was reported via the GitHub Bug Bounty program.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 6
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Github Enterprise_Server
cpe:2.3:a:github:enterprise_server:*:*:*:*:*:*:*:*
|
— |
3.16.20
|
|
Github Enterprise_Server
cpe:2.3:a:github:enterprise_server:*:*:*:*:*:*:*:*
|
3.17.0
|
3.17.17
|
|
Github Enterprise_Server
cpe:2.3:a:github:enterprise_server:*:*:*:*:*:*:*:*
|
3.18.0
|
3.18.11
|
|
Github Enterprise_Server
cpe:2.3:a:github:enterprise_server:*:*:*:*:*:*:*:*
|
3.19.0
|
3.19.8
|
|
Github Enterprise_Server
cpe:2.3:a:github:enterprise_server:*:*:*:*:*:*:*:*
|
3.20.0
|
3.20.4
|
|
Github Enterprise_Server
cpe:2.3:a:github:enterprise_server:*:*:*:*:*:*:*:*
|
3.21.0
|
3.21.2
|