OAuth Login - OAuth OIDC SSO
The module does not properly check access on a setup page or verify email addresses from the identity provider. Someone could log in as any existing user if they know their email address and change or add data. They could not do this without an account on the external identity provider.
- Who could do thisAnyone visiting the site. No login needed.
- Does it apply to youAn attacker has an account with an identity provider the site uses and can change a value like their username on that provider.
- 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 OAuth Login - OAuth OIDC SSO to 3.1.1.
For developers: what the fix changed
The fix updates `oauth_login_oauth2.routing.yml` to require the `administer site configuration` permission and a CSRF token for the `oauth_login_oauth2.post_testconfig` route. It also updates `miniorange_oauth_client_mo_login` in `src/Controller/miniorange_oauth_clientController.php` to check the `email_verified` claim from the identity provider, blocking login if the email is unverified unless explicitly configured to trust it.
Also in this release Code style improvements, formatting fixes, and minor refactoring.
README.md+9 −3config/install/oauth_login_oauth2.settings.yml+1 −0 fixconfig/schema/oauth_login_oauth2.schema.yml+2 −0 fixcss/oauth_login_oauth2.style_settings.css+0 −2oauth_login_oauth2.install+15 −5oauth_login_oauth2.links.task.yml+1 −1oauth_login_oauth2.module+11 −11oauth_login_oauth2.routing.yml+3 −1 fixsrc/AccessToken.php+9 −5src/AuthorizationEndpoint.php+19 −20src/Controller/miniorange_oauth_clientController.php+81 −55 fixsrc/Form/ConfirmDeleteForm.php+20 −9