[SEC-001][критический] IDOR: любой пользователь может обновить чужую геопозицию #10

Open
opened 2026-06-26 19:45:43 +03:00 by cucadmuh · 0 comments

Важность

критический

Категория

Authorization

Место в коде

bin/routes/geo_routes.dart:20-29, bin/database/database_provider.dart:77-86,232-251

Описание

В таблице geopositions нет колонки владельца (user_id). Эндпоинт PUT /geo?id=<uuid> вызывает updatePosition без проверки, что позиция принадлежит пользователю из JWT.

Доказательства

В JWT передаётся только login для audit log, не для контроля доступа к объекту.

Влияние

Любой аутентифицированный пользователь, знающий UUID чужой позиции (поле geo_id в ответе POST /share), может подменить координаты другой семьи.

Рекомендация

Добавить owner_user_id в geopositions; проверять владельца перед update/share/watch.

Трудозатраты

M


Источник: аудит безопасности GeoShare, 2026-06-26, commit abbd199d89925483ac1801b401a4e75a2a1372e0.
Важность в issue поднята на одну ступень относительно severity в отчёте.

## Важность **критический** ## Категория Authorization ## Место в коде `bin/routes/geo_routes.dart:20-29`, `bin/database/database_provider.dart:77-86,232-251` ## Описание В таблице `geopositions` нет колонки владельца (`user_id`). Эндпоинт `PUT /geo?id=<uuid>` вызывает `updatePosition` без проверки, что позиция принадлежит пользователю из JWT. ## Доказательства В JWT передаётся только `login` для audit log, не для контроля доступа к объекту. ## Влияние Любой аутентифицированный пользователь, знающий UUID чужой позиции (поле `geo_id` в ответе `POST /share`), может подменить координаты другой семьи. ## Рекомендация Добавить `owner_user_id` в `geopositions`; проверять владельца перед update/share/watch. ## Трудозатраты M --- **Источник:** аудит безопасности GeoShare, 2026-06-26, commit `abbd199d89925483ac1801b401a4e75a2a1372e0`. **Важность в issue** поднята на одну ступень относительно severity в отчёте.
cucadmuh changed title from [SEC-001][блокер] IDOR: любой пользователь может обновить чужую геопозицию to [SEC-001][критический] IDOR: любой пользователь может обновить чужую геопозицию 2026-06-26 19:51:38 +03:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: rezidir/GeoShare#10