OAuth2 Token Manager
The module does not restrict access to its connection pages. A visitor could connect the site to an account they control and change or add data. They could not do this without finding a specific code from a previous connection attempt in the server logs.
- Who could do thisAnyone visiting the site. No login needed.
- Does it apply to youAn attacker can find the state value from a previous system token setup in the server logs.
- Has it been used in attacksNo sign of it.
- How urgentDrupal rates this critical. Cyber Essentials expects a fix within 14 days. Do it this week.
Tell your developerUpdate OAuth2 Token Manager to 8.x-1.2.
For developers: what the fix changed
The fix restricts access to the OAuth2 validation routes by replacing `_access: 'TRUE'` with specific administer permissions in the routing files for Box, Quip, and Slack. It also updates `ValidationControllerBase::validate` to clear the initialisation state after use and ensures it is not empty before comparing it to the request state.
Also in this release The release also fixed a lock contention bug in `refreshSystemAccessToken()` and added automated tests.
modules/box/box_token_manager.install+15 −0 fixmodules/box/box_token_manager.permissions.yml+4 −0 fixmodules/box/box_token_manager.routing.yml+1 −1 fixmodules/quip/quip_token_manager.install+15 −0 fixmodules/quip/quip_token_manager.permissions.yml+4 −0 fixmodules/quip/quip_token_manager.routing.yml+1 −1 fixmodules/slack/slack_token_manager.install+15 −0 fixmodules/slack/slack_token_manager.permissions.yml+4 −0 fixmodules/slack/slack_token_manager.routing.yml+1 −1 fixsrc/Controller/ValidationControllerBase.php+4 −3 fixsrc/TokenManager.php+10 −3 fix