SOS раскрывает участникам сообщества координаты и телефон в экстренной ситуации — уязвимости здесь могут напрямую затрагивать физическую безопасность людей. Пожалуйста, сообщайте о них ответственно.
Предпочтительный и на сегодня единственный способ — приватный отчёт через GitHub Security Advisories (вкладка Security → Report a vulnerability в репозитории). Он не публикует детали, пока проблема не будет исправлена. Отдельный email для отчётов пока не заведён.
Пожалуйста, не создавайте публичный issue с деталями эксплуатации уязвимости.
- Утечка точных координат или телефона в обход правил приватности (см. docs/PRIVACY.md, docs/ARCHITECTURE.md).
- Доступ к чужой тревоге в обход правил (
/e/{id}без записи вemergency_recipient— за одним документированным исключением: владелец/модератор группы видит тревоги своей группы даже без неё, см.docs/ARCHITECTURE.md, раздел M6; любой другой путь безemergency_recipient— уязвимость). - Обход авторизации (доступ без валидной сессии, подмена чужого
driver_id). - CSRF/XSS на POST-эндпоинтах. Известное ограничение, не находка: защита от CSRF
сейчас — только
SameSite=Laxна сессионной cookie, явных CSRF-токенов нет (несмотря на формулировку в PLAN.md 3.6). Все действия с побочными эффектами — толькоPOST, ни одинGETне изменяет состояние, что вместе сSameSite=Laxзакрывает большинство практических сценариев; полноценные токены — в очереди на будущее, а не тихо забыты. - Возможность инициировать ложную рассылку SOS от чужого имени.
Отсутствие фоновой геолокации и ограничения iOS Web Push — это задокументированные ограничения платформы, а не уязвимости (см. README.md, docs/ARCHITECTURE.md).