إرسال #801781: mettle sendportal v3.0.1 Insecure direct object referenceالمعلومات

عنوانmettle sendportal v3.0.1 Insecure direct object reference
الوصفSummary The destroy() method in WorkspaceInvitationsController allows any workspace owner to delete invitations belonging to any other workspace (IDOR - CWE-639). Vulnerability Details File: app/Http/Controllers/Workspaces/WorkspaceInvitationsController.php, lines 42-47 public function destroy(Invitation $invitation): RedirectResponse { $invitation->delete(); // No workspace ownership check return redirect()->route('users.index'); } The route group at routes/web.php line 59 applies OwnsCurrentWorkspace::class middleware, which verifies the user owns their current workspace — but does NOT verify the {invitation} parameter belongs to that workspace. Laravel route model binding resolves ANY invitation by ID. Secure pattern comparison: The store() method in the same controller correctly scopes to the current workspace via $request->user()->currentWorkspace(). The invitations table has a workspace_id foreign key but it is never validated in destroy(). Recommended Fix public function destroy(Invitation $invitation): RedirectResponse { abort_unless( $invitation->workspace_id === auth()->user()->currentWorkspace()->id, 404 ); $invitation->delete(); return redirect()->route('users.index'); } Disclosure Found during security research. Happy to provide additional details.
المصدر⚠️ https://github.com/mettle/sendportal/issues/337
المستخدم
 B1scuit (UID 97177)
ارسال10/04/2026 06:51 AM (2 أشهر منذ)
الاعتدال26/04/2026 09:53 PM (17 days later)
الحالةتمت الموافقة
إدخال VulDB359744 [mettle sendportal حتى 3.0.1 Invitation WorkspaceInvitationsController.php destroy invitation تجاوز الصلاحيات]
النقاط20

Want to stay up to date on a daily basis?

Enable the mail alert feature now!