Pentest R111: contract-categories – Permission-String angeglichen

Pentester meldete 403 auf POST/PUT/DELETE /api/contract-categories/*
für Admin trotz vorhandener contract-categories:*-Perms. Vermutete
Regression aus R110, war aber schon seit dem allerersten Commit
so: Route verlangte developer:access, während der Permission-Seed
den Admins contract-categories:* gibt.

Fix: Route auf contract-categories:create/update/delete umgestellt,
konsistent mit den sechs Peer-Katalog-Endpunkten (platforms/
tariffs/cancellation-periods/… nutzen alle ressourcen-spezifische
Perms). Kommentar aktualisiert.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-07-11 16:35:47 +02:00
co-authored by Claude Opus 4.7
parent da3ae282fc
commit 217aa82b2a
2 changed files with 22 additions and 4 deletions
+11
View File
@@ -97,6 +97,17 @@ isolierte Instanz (keine Multi-Tenancy im Code), Provisioning + Abrechnung
## ✅ Erledigt
- [x] **🔧 Pentest R111 contract-categories: falscher Permission-String**
- Der Pentester meldete 403 auf `POST/PUT/DELETE /api/contract-categories/*`
für Admin trotz vorhandener `contract-categories:*`-Permissions.
Vermutete Regression aus R110, war aber schon seit dem ersten
Commit so die Route verlangte `developer:access`, während der
Permission-Seed den Admins `contract-categories:*` gibt.
- Fix: Route auf `contract-categories:create/update/delete`
umgestellt, konsistent mit den sechs Peer-Katalog-Endpunkten
(platforms/tariffs/cancellation-periods/…). Kommentar aktualisiert,
damit die historische Design-Restriktion nicht wieder eingebaut wird.
- [x] **🔒 Pentest R110 Mass-Assignment-Whitelist auf 7 Update-Endpunkten**
- MEDIUM-Finding: `PUT /api/stressfrei-emails/:id` und 6 weitere Update-
Endpunkte (`platform`, `tariff`, `contractCategory`,