Skip to content

fix: add capability check to the legacy auth callback#1084

Open
vytisbulkevicius wants to merge 1 commit into
developmentfrom
bugfix/pro/635
Open

fix: add capability check to the legacy auth callback#1084
vytisbulkevicius wants to merge 1 commit into
developmentfrom
bugfix/pro/635

Conversation

@vytisbulkevicius

@vytisbulkevicius vytisbulkevicius commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Summary

Follow-up hardening to the missing-authorization advisory. Rop_Admin::legacy_auth() is hooked to admin_init (which runs for any logged-in user, including Subscribers) and processes the social-account OAuth callback, but it had no capability check — so a lower-privilege user could reach the account-authorization flow. This adds a manage_options check at the top of the method; connecting accounts is an administrator action and the legitimate flow always returns to an admin.

Will affect the visual aspect of the product

NO

Test instructions

  • As a Subscriber, open /wp-admin/?network=facebook&code=test — the OAuth/authorization flow must not run (the method returns early).
  • As an Administrator, connect a social account from Revive Social as usual — it still works.

Check before Pull Request is ready:

Closes https://github.com/Codeinwp/tweet-old-post-pro/issues/635

legacy_auth() is hooked to admin_init (runs for any logged-in user) and handles
the social-account OAuth callback, but had no capability check, so a
lower-privilege user could trigger the account-authorization flow. Bail unless
the user can manage_options.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@pirate-bot pirate-bot added the pr-checklist-incomplete The Pull Request checklist is incomplete. (automatic label) label Jun 19, 2026
@pirate-bot

Copy link
Copy Markdown
Contributor

Plugin build for 83490b5 is ready 🛎️!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-checklist-incomplete The Pull Request checklist is incomplete. (automatic label)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants