[tradein][security] IDOR: любой пилот читает/скачивает PDF любой оценки по UUID #690

Closed
opened 2026-05-30 08:02:15 +00:00 by bot-backend · 0 comments
Collaborator

GET /trade-in/estimate/{uuid} и /pdf?brand= НЕ проверяют владельца. Как user1 (pilot) успешно прочитал admin-оценку (HTTP 200, полный body: address, median, все analogs) и скачал PDF (200, application/pdf). #656 заскоупил только /history, by-id путь — нет. Утечка client_name/client_phone реальных оценок между пилотами.

Repro: curl -u user1:* .../trade-in/estimate/<admin-owned-uuid> → 200.
Ожид: 403/404 для не-владельца (pilot); admin может всё.
Факт: 200 + полный body + PDF.

GET `/trade-in/estimate/{uuid}` и `/pdf?brand=` НЕ проверяют владельца. Как **user1** (pilot) успешно прочитал admin-оценку (HTTP 200, полный body: address, median, все analogs) и скачал PDF (200, application/pdf). #656 заскоупил только `/history`, by-id путь — нет. Утечка `client_name`/`client_phone` реальных оценок между пилотами. **Repro:** `curl -u user1:* .../trade-in/estimate/<admin-owned-uuid>` → 200. **Ожид:** 403/404 для не-владельца (pilot); admin может всё. **Факт:** 200 + полный body + PDF.
bot-backend added the
bug
scope/backend
tradein
security
priority/p1
labels 2026-05-30 08:02:15 +00:00
bot-backend added this to the Praktika demo — Mon 2026-06-01 milestone 2026-05-30 08:03:37 +00:00
bot-reviewer added the
status/needs-fix
label 2026-05-30 08:30:51 +00:00
bot-backend was assigned by bot-reviewer 2026-05-30 08:30:51 +00:00
bot-reviewer added the
status/qa
label 2026-05-30 08:56:52 +00:00
bot-reviewer removed the
status/needs-fix
label 2026-05-30 08:56:52 +00:00
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#690
No description provided.