Skip to content

Security: maximkr/TrackStudio

SECURITY.md

Политика безопасности

Поддерживаемые версии

Версия Поддержка
6.x ✅ исправления безопасности выпускаются
5.x и ниже ❌ коммерческие версии, не поддерживаются в этом репозитории

Как сообщить об уязвимости

Не открывайте публичный issue для уязвимостей.

Воспользуйтесь приватным каналом GitHub: вкладка Security → Report a vulnerability. Отчёт будет виден только сопровождающим репозитория.

Если приватная форма по каким-то причинам недоступна, напишите сопровождающему — @maximkr.

Что приложить к отчёту

  • версию TrackStudio (см. version.properties в развёрнутом приложении или вывод ./gradlew printVersion);
  • способ развёртывания — Docker Compose, Kubernetes или ручная установка в Tomcat;
  • шаги воспроизведения, желательно минимальные;
  • что именно получает атакующий: чтение чужих задач, обход прав, выполнение кода, отказ в обслуживании;
  • нужны ли для атаки учётные данные и какого уровня.

Сроки

  • подтверждение получения — в течение 5 рабочих дней;
  • предварительная оценка — в течение 14 дней;
  • исправление и публикация advisory — по договорённости, в зависимости от серьёзности.

Мы просим не раскрывать детали публично, пока исправление не выпущено.

Что особенно интересно

TrackStudio — многопользовательская система с иерархическими правами доступа, поэтому в первую очередь важны:

  • обход ACL: доступ к задачам, проектам или пользователям вне выданных прав;
  • повышение привилегий через рабочие процессы, триггеры или скрипты;
  • SQL-инъекции и инъекции в поисковые запросы Lucene;
  • XSS в полях задач, комментариях и вложениях;
  • проблемы аутентификации и управления сессиями в REST API (/rest/*);
  • обход проверок при загрузке файлов.

Известные особенности, не являющиеся уязвимостями

  • Учётные данные по умолчанию root / root в docker-compose предназначены для локальной разработки. Смена пароля при развёртывании в продакшене — обязанность администратора.
  • Файл .env в репозитории содержит пароль базы для локального запуска. Это не секрет продакшена, при развёртывании его нужно заменить.
  • BeanShell-скрипты и триггеры выполняются намеренно и по определению позволяют исполнять код. Их доступность ограничивается правами администратора — это архитектурное решение, а не дефект.

There aren't any published security advisories