GraphQL Core Schema
The module does not properly check access rights when changing a password through the data feed. Someone with an ordinary account who can view another user could change their password and take over their account. They could access hidden data and change any information on the site including code.
- Who could do thisOnly someone with a login on your site.
- Does it apply to youA site is affected if the user login extension is turned on for the data feed server.
- 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 GraphQL Core Schema to 1.0.29.
For developers: what the fix changed
The fix updates the PasswordChange data producer in `src/Plugin/GraphQL/DataProducer/User/PasswordChange.php` to verify that the current user has `update` access to the user entity before checking field-level access for the password field.
Also in this release The release also fixes a bug with language switch links on POST requests, refactors view resolvers, and adds missing schema annotations.
src/GraphQL/Resolver/FieldResolver.php+96 −0src/Plugin/GraphQL/DataProducer/EnabledView.php+57 −0src/Plugin/GraphQL/DataProducer/LanguageSwitchLinks.php+15 −1src/Plugin/GraphQL/DataProducer/User/PasswordChange.php+6 −2 fixsrc/Plugin/GraphQL/SchemaExtension/LanguageExtension.php+2 −1src/Plugin/GraphQL/SchemaExtension/ViewsExtension.php+40 −191