TREK — это совместный планировщик путешествий. В версиях с 3.0.0 по 3.1.0 маршрут GET /api/journeys/:id/share-link в server/src/routes/journey.ts возвращает результат getJourneyShareLink() из server/src/services/journeyShareService.ts без проверки, может ли аутентифицированная запрашивающая сторона получить доступ к пути. Любой обычный пользователь, прошедший проверку подлинности, может перечислять последовательные идентификаторы поездок и получать токены из travel_share_tokens для поездки другого пользователя.
Токен предоставляет неаутентифицированный доступ через GET /api/public/journey/:token к записям общего путешествия, подписям, местоположениям, настроениям, фотографиям галереи, путям фотографий и идентификаторам активов. Эта проблема исправлена в версии 3.1.0.
Показать оригинальное описание (EN)
TREK is a collaborative travel planner. From 3.0.0 until 3.1.0, the GET /api/journeys/:id/share-link route in server/src/routes/journey.ts returns the result of getJourneyShareLink() from server/src/services/journeyShareService.ts without checking whether the authenticated requester can access the journey. Any ordinary authenticated user can enumerate sequential journey IDs and retrieve tokens from journey_share_tokens for another user's journey. The token grants unauthenticated access through GET /api/public/journey/:token to the shared journey's entries, captions, locations, moods, gallery photos, photo paths, and asset identifiers. This issue is fixed in version 3.1.0.
Характеристики атаки
Последствия
Строка CVSS v3.1