Logto — это современная инфраструктура аутентификации с открытым исходным кодом для приложений SaaS и AI. С 1.40.1 по 1.41.0 .github/workflows/commitlint.yml Logto напрямую интерполировал github.event.pull_request.title во встроенную команду echo шага заголовка Commitlint on PR перед передачей заголовка в npx commitlint. Заголовок запроса на включение, содержащий одинарную кавычку, может завершить строку эха и добавить произвольные команды оболочки в средство выполнения действий GitHub.
Триггер pull_request использовал GITHUB_TOKEN, доступный только для чтения, и не раскрывал секреты репозитория, но введенные команды могли изменить или нарушить выполнение эфемерного рабочего процесса. Эта проблема исправлена в версии 1.41.0.
Показать оригинальное описание (EN)
Logto is the modern, open-source auth infrastructure for SaaS and AI apps. From 1.40.1 until 1.41.0, Logto's .github/workflows/commitlint.yml directly interpolated github.event.pull_request.title into the Commitlint on PR title step's inline echo command before piping the title to npx commitlint. A pull request title containing a single quote could terminate the echo string and append arbitrary shell commands on the GitHub Actions runner. The pull_request trigger used a read-only GITHUB_TOKEN and did not expose repository secrets, but injected commands could alter or disrupt the ephemeral workflow execution. This issue is fixed in version 1.41.0.
Характеристики атаки
Последствия
Строка CVSS v3.1