LiveCode — это площадка для клиентского кода с открытым исходным кодом. До фиксации e151c64c2bd80d2d53ac1333f1df9429fe6a1a11 рабочий процесс GitHub Actions `i18n-update-pull` LiveCode уязвим для внедрения JavaScript. Заголовок запроса на извлечение, связанный с комментарием, вызывающим проблему, интерполируется непосредственно в блок JavaScript «actions/github-script» с использованием выражения шаблона GitHub Actions.
Злоумышленник, открывший PR со специально созданным заголовком, может внедрить произвольный код JavaScript, который выполняется с привилегиями токена CI-бота (CI_APP_ID / CI_APP_PRIVATE_KEY), что позволяет получить доступ к секретам репозитория и выполнить несанкционированные операции API GitHub. Коммит e151c64c2bd80d2d53ac1333f1df9429fe6a1a11 устраняет проблему.
Показать оригинальное описание (EN)
LiveCode is an open-source, client-side code playground. Prior to commit e151c64c2bd80d2d53ac1333f1df9429fe6a1a11, LiveCode's `i18n-update-pull` GitHub Actions workflow is vulnerable to JavaScript injection. The title of the Pull Request associated with the triggering issue comment is interpolated directly into a `actions/github-script` JavaScript block using a GitHub Actions template expression. An attacker who opens a PR with a crafted title can inject arbitrary JavaScript that executes with the privileges of the CI bot token (`CI_APP_ID` / `CI_APP_PRIVATE_KEY`), enabling exfiltration of repository secrets and unauthorized GitHub API operations. Commit e151c64c2bd80d2d53ac1333f1df9429fe6a1a11 fixes the issue.
Характеристики атаки
Последствия
Строка CVSS v4.0