| Версия | Поддержка |
|---|---|
| 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-скрипты и триггеры выполняются намеренно и по определению позволяют исполнять код. Их доступность ограничивается правами администратора — это архитектурное решение, а не дефект.