Мониторинг Карточка CVE
Открытые данные
К списку уязвимостей
Критический
PoC
Опубликована

CVE-2026-108259

Tina: Code injection via unescaped Git branch name in generated client source

Публикация: 09.10.2026·Обновлена: 14.10.2026, 05:12·Europe/Moscow

Что произошло

Автоперевод выключен · оригинальное описание

Tina is a headless content management system. Prior to 3.0.0, @tinacms/cli reads Git branch values from VERCEL_GIT_COMMIT_REF, GITHUB_BRANCH, or HEAD, incorporates the raw value into the API URL, and interpolates that URL into JavaScript string literals in packages/@tinacms/cli/src/next/codegen/index.ts and packages/@tinacms/cli/src/next/codegen/codegen/plugin.ts. A crafted Git-valid branch name containing a quote can terminate the generated string and inject an expression that executes when the generated client module is imported during a preview build. The injected code runs with the build process privileges and can read environment credentials, modify deployment artifacts, or make network requests. This issue is fixed in version 3.0.0.

Что это значит

В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.

Что делать

Редакционные пояснения, сведения источников и общие рекомендации помечены отдельно
Устранить в течение 24 ч

1. Проверьте, затронуты ли вы

Соберите инвентаризацию и сравните с таблицей затронутых версий. Эти команды только показывают установленные компоненты и сами по себе не доказывают наличие CVE.

Debian / Ubuntu
dpkg-query -W -f='${Package}	${Version}\n'
RHEL / AlmaLinux
rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n'
Windows PowerShell
Get-HotFix | Select-Object HotFixID, InstalledOn
Общая рекомендация, не из бюллетеня вендора

2. Установите исправление

Сверьте точный продукт и версию с бюллетенем вендора. Установите указанное в нём исправление после резервного копирования и проверки совместимости. Подтверждённая целевая версия в источниках отсутствует.

Общая рекомендация, не из бюллетеня вендора

3. Временные меры

До проверки бюллетеня ограничьте доступ к затронутому компоненту доверенными узлами. Оцените сегментацию и отключение ненужных интерфейсов с владельцем сервиса; универсального правила WAF для этой CVE не подтверждено.

Общая рекомендация, не из бюллетеня вендора

4. Проверьте следы эксплуатации

Проверьте аномальные входы, новые учётные записи, ошибки и необычные дочерние процессы в затронутом сервисе. Публичные проверенные правила обнаружения не включены в запись; отсутствие сигналов не доказывает отсутствие компрометации.

Общая рекомендация, не из бюллетеня вендора

5. После исправления

  • Проверьте фактическую версию и результат установки по бюллетеню.
  • При необходимости перезапустите сервисы в согласованное окно.
  • Повторите проверку сканером и функциональные проверки.
  • Зафиксируйте результат, дату, владельца и оставшийся риск.

Продукты и затронутые версии

tinacms / tinacms

{
  "status": "affected",
  "version": "< 3.0.0"
}

@tinacms / cli

{
  "status": "affected",
  "version": "< 3.0.0"
}

@tinacms/cli npm

{
  "status": "affected",
  "version": "*",
  "versionEndExcluding": "3.0.0"
}

CVSS: оценки и векторы

CVSS 3.1 · cve8.2
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N
AV · Вектор атакисеть
AC · Сложность атакивысокая
PR · Привилегиинизкие
UI · Участие пользователяне нужно
S · Область воздействияменяется
C · Конфиденциальностьвысокое
I · Целостностьвысокое
A · Доступностьнет

Источники и ссылки

Происхождение полей
{
  "cwes": [
    "cve"
  ],
  "epss": {
    "source": "epss",
    "received_at": "2026-11-03T21:11:41.019294+00:00"
  },
  "title": {
    "source": "cve",
    "received_at": "2026-10-28T21:26:23.872616+00:00"
  },
  "scores": [
    "cve"
  ],
  "status": {
    "source": "cve",
    "received_at": "2026-10-28T21:26:23.872616+00:00"
  },
  "affected": [
    "cve",
    "osv"
  ],
  "published": {
    "source": "cve",
    "received_at": "2026-10-28T21:26:23.872616+00:00"
  },
  "solutions": [],
  "percentile": {
    "source": "epss",
    "received_at": "2026-11-03T21:11:41.019294+00:00"
  },
  "references": [
    "cve",
    "osv"
  ],
  "description": {
    "source": "cve",
    "received_at": "2026-10-28T21:26:23.872616+00:00"
  },
  "workarounds": [],
  "configurations": []
}

Хронология записи

  1. Данные обновлены04.11.2026, 00:11
  2. Данные обновлены03.11.2026, 00:11
  3. Данные обновлены02.11.2026, 15:15
  4. Данные обновлены02.11.2026, 00:09
  5. Данные обновлены31.10.2026, 11:56
  6. Данные обновлены30.10.2026, 16:17
  7. Данные обновлены29.10.2026, 11:11
  8. Появилась ссылка на PoC29.10.2026, 00:26

Личная заметка и статус

Другие CVE того же продукта

УЯЗВИМОСТЬ / ПРОДУКТПРИОРИТЕТCVSSEPSSСИГНАЛЫОПУБЛИКОВАНАКарточка
CVE-2026-54074
@tinacms/cli: Remote Code Execution via Forestry migration — unsanitised __TINA_INTERNAL__ marker in user-controlled YAML labels
tinacms / tinacms · @tinacms/cli
Критический7.8
0,25 %
PoC
01.07.2026
CVE-2023-25164
Sensitive Information leak via Script File in TinaCMS
@tinacms/cli
Информационный—
0,68 %
08.02.2023
CVE-2026-63123
Tina: Cross-origin `POST /media/upload/*` requests can write arbitrary files into the Tina dev server media root
tinacms / tinacms · @tinacms/cli
Высокий6.5
0,26 %
PoC
20.08.2026
CVE-2026-28792
Cross-Origin File Exfiltration via CORS Misconfiguration + Path Traversal in TinaCMS
@tinacms / cli · @tinacms/cli
Критический9.7
0,57 %
PoC
12.03.2026
CVE-2026-29066
Arbitrary File Read via Disabled Vite Filesystem Restriction in TinaCMS CLI
@tinacms / cli · @tinacms/cli
Высокий6.2
1,05 %
PoC
12.03.2026
CVE-2026-108259: Tina: Code injection via unescaped Git branch name in generated client source · CVE Радар