Description
Your web application's GraphQL implementation accepts non-JSON mutations over GET requests, increasing the risk of Cross-Site Request Forgery (CSRF) attacks. While JSON-based POST requests are generally considered resistant to CSRF, non-JSON GET requests are more susceptible to this type of attacks. GraphQL mutations are operations used to modify data on the server-side in a GraphQL API. While queries are used to request data from a GraphQL server, mutations are used to create, update, or delete data.
Remediation
Use POST for Mutations: Restrict GraphQL mutations to JSON-based POST requests to limit the CSRF attack surface.
References
Related Vulnerabilities
WordPress Plugin Post Thumbnail Editor Multiple Cross-Site Request Forgery Vulnerabilities (2.4.1)
WordPress Plugin Tutor LMS-eLearning and online course solution Cross-Site Request Forgery (1.5.2)
WordPress Plugin PictoBrowser Cross-Site Request Forgery (0.3.1)
GraphQL Unauthenticated Mutation Detected
WordPress Plugin SPNbabble Cross-Site Request Forgery (1.4.1)