WPGraphQL: Contributor can publish and modify posts without the required capabilities via updatePost
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- None · Low · Low
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-863.
Summary
WPGraphQL provides a GraphQL API for WordPress sites. Prior to 2.22.2, the updatePost mutation in src/Mutation/PostObjectUpdate.php checks only the collection-level edit_posts capability and the post author, but does not enforce the object-level edit_post capability or require publish_posts for public status transitions. An authenticated Contributor can therefore publish the Contributor's own draft without editorial approval or modify the Contributor's previously published post despite lacking edit_published_posts, while posts owned by other authors remain protected. This issue is fixed in version 2.22.2.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| WPGraphQL | wp-graphql | before 2.22.2 | 2.22.2 | Patch available | CNA |
| — | wp-graphql/wp-graphql (Packagist) | all versions | — | No fix listed | GHSA-5mmc-8pc9-wggg |
- wp-graphql VendorWPGraphQL Affected before 2.22.2 Fixed in 2.22.2 Patch available CNA
- wp-graphql/wp-graphql (Packagist) Vendor— Affected all versions Fixed in — No fix listed GHSA-5mmc-8pc9-wggg
Remediation
- Fix · CNA wp-graphql (wp-graphql) Fixed in 2.22.2
Timeline
- 2026-10-02 Threatist record created from CVE-2026-88974
- 2026-10-03 Alias added: GHSA-5mmc-8pc9-wggg
References
Other 5
- https://github.com/wp-graphql/wp-graphql/security/advisories/GHSA-5mmc-8pc9-wggg
- https://github.com/wp-graphql/wp-graphql/pull/4270
- https://github.com/wp-graphql/wp-graphql/commit/55441663eaa33c3f2e05de038c8286c845916461
- https://github.com/wp-graphql/wp-graphql/releases/tag/wp-graphql%2Fv2.22.2
- https://github.com/wp-graphql/wp-graphql
More WPGraphQL vulnerabilities
- TI-2021-22572 WordPress Plugin WPGraphQL 1.3.5 Denial of Service CVSS 4.0HIGH 8.7
- TI-2026-39574 WPGraphQL has deprecated `user` field on SendPasswordResetEmailPayload that leaks user… CVSS 4.0MEDIUM 6.9
- TI-2026-22282 WPGraphQL Repo Vulnerable to Command Injection via Unsanitized GitHub Actions Expression in Release Workflow CVSS 3.1HIGH 7.7
- TI-2026-25701 Missing authorization in WPGraphQL wp-graphql CVSS 3.1MEDIUM 4.3
- TI-2026-83176 Email flooding in WPGraphQL via aliased password reset mutations CVSS 4.0MEDIUM 6.9
- TI-2026-83174 Unbounded persisted query storage in WPGraphQL Smart Cache CVSS 4.0MEDIUM 6.9
Sources
- CVE-2026-88974 · CVE Program
- CVE-2026-88974 · NVD
- FIRST EPSS
- GHSA-5mmc-8pc9-wggg · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences