Skip to content

Fix IDOR in webhook activation endpoint#2431

Merged
jeremy merged 1 commit intomainfrom
webhook-activation-idor-fix
Jan 25, 2026
Merged

Fix IDOR in webhook activation endpoint#2431
jeremy merged 1 commit intomainfrom
webhook-activation-idor-fix

Conversation

@jeremy
Copy link
Member

@jeremy jeremy commented Jan 25, 2026

Summary

  • Fix cross-board IDOR vulnerability in webhook reactivation endpoint
  • Add BoardScoped concern to properly restrict activation to accessible boards
  • Add authorization tests for webhook activation

Test plan

  • bin/rails test test/controllers/webhooks/activations_controller_test.rb passes
  • bin/ci passes
  • Verified fix prevents cross-board webhook activation

The webhook activation controller was using account-scoped lookup
instead of board-scoped lookup, allowing users to reactivate webhooks
on boards they don't have access to.

This was an oversight when board-scoping was added to the main webhooks
controller - the activations controller was missed in that update.

The fix adds the BoardScoped concern to properly restrict webhook
activation to boards the user has explicit access to.
@jeremy jeremy merged commit 4efa4da into main Jan 25, 2026
12 checks passed
@jeremy jeremy deleted the webhook-activation-idor-fix branch January 25, 2026 01:06
svara pushed a commit that referenced this pull request Jan 27, 2026
* main: (127 commits)
  Align board name start so it doesn't get too big
  Clean up card/events header layout
  Sync email to Stripe when user changes email address (#2432)
  Fix IDOR in webhook activation endpoint (#2431)
  Add card reactions to API docs and reactions_url to card JSON (#2427)
  Remove unnecessary claude plan
  Allow boosts on cards (#2411)
  Revert "Fix notification click URL by using correct data property"
  Add migration to remove draft cards from search index
  Guard search indexing with searchable? check
  Forbid comments on draft cards
  prefactor: update search to use published cards
  Fix notification click URL by using correct data property
  Wait for service worker to be active before subscribing
  Fix stuck state when permission granted but no subscription
  Extract Card::Commentable
  Include arm64 build in Docker workflow
  Remove unnecessary `await` in push handler
  Correctly initialise WebPush connection (#2417)
  Update models, views, and fixtures for polymorphic reactions
  ...
adjogima added a commit that referenced this pull request Jan 27, 2026
* main: (26 commits)
  Add a new Pins section to docs/API.md covering pin/unpin and the pinned cards list response.
  Align board name start so it doesn't get too big
  Clean up card/events header layout
  Sync email to Stripe when user changes email address (#2432)
  Fix IDOR in webhook activation endpoint (#2431)
  Add card reactions to API docs and reactions_url to card JSON (#2427)
  Remove unnecessary claude plan
  Allow boosts on cards (#2411)
  Revert "Fix notification click URL by using correct data property"
  Add migration to remove draft cards from search index
  Guard search indexing with searchable? check
  Forbid comments on draft cards
  prefactor: update search to use published cards
  Fix notification click URL by using correct data property
  Wait for service worker to be active before subscribing
  Fix stuck state when permission granted but no subscription
  Extract Card::Commentable
  Include arm64 build in Docker workflow
  Remove unnecessary `await` in push handler
  Correctly initialise WebPush connection (#2417)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant