Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach public WPGraphQL endpoint
-
DeliveryEnumerate/guess hidden post ID
-
ExploitSend unauthenticated createComment mutation
-
ExecutionBypass missing post-status authorization check
-
ImpactLeak draft/private post title via moderator email
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the WPGraphQL plugin (≤2.24.0) exposed on a reachable GraphQL endpoint AND the site configured to allow anonymous comments (WordPress 'comment_registration' option disabled) - the advisory states the entire surface is reachable without logging in only on such sites. The attacker must also know or enumerate a target post ID, which the vulnerable mutation itself facilitates because non-existent, hidden, and comment-closed posts each returned distinguishable responses. The primary disclosure (post title leakage) further depends on the moderator notification email being enabled, which is WordPress default behaviour. The key LIMITING factor is comment configuration: on sites that require registration/login to comment, unauthenticated exploitation is blocked, and the only complete fix per the vendor is updating to 2.24.1 (disabling comments site-wide is the only configuration workaround and sacrifices comments). |
| Impact | This is a genuine but moderate-priority information-disclosure and integrity issue rather than a critical remote-code-execution threat. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) describes a network-reachable, low-complexity, unauthenticated flaw, which sounds alarming, but the impact metrics are deliberately modest: only Low confidentiality and Low integrity, with no availability impact (VC:L/VI:L/VA:N), yielding a 6.9 medium score. The most meaningful real-world impact confirmed by the GHSA advisory is disclosure of titles of unpublished (draft/private) posts via the moderator notification email, plus post-ID enumeration across statuses and forgeable comment date/type metadata - none of which grants data modification beyond inserting moderation-queue comments. No EPSS score was supplied, so statistical exploitation likelihood cannot be assessed. The CVE is NOT in CISA KEV and there is no confirmed public exploit, so there is no evidence of active exploitation. The vuln.today decision label is 'this_month', consistent with a patch-on-normal-cycle priority rather than an emergency. One important nuance: exploitation is gated by site configuration - the advisory explicitly states the full surface is only reachable without login on a site that allows anonymous comments - which the bare CVSS PR:N/UI:N vector does not convey; defenders should weigh this limiting factor. |
| Exploit ScenarioDerived | An unauthenticated attacker sends a crafted createComment GraphQL mutation to a WPGraphQL-enabled site, targeting a guessed post ID that is actually a draft or private post. Because versions ≤2.24.0 only checked that the post existed and had comments open - not whether the caller could see it - the comment is accepted and the resulting wp_notify_moderator() email leaks the hidden post's title off-site. No public exploit has been identified at time of analysis, though the mechanism is fully documented in the vendor's GHSA advisory and the fix commit. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 30, 2026
Unauthenticated callers can create comments on WordPress content they are not allowed to see through the createComment GraphQL mutation in WPGraphQL 2.24.0 and earlier, because the mutation validated only that the target post existed and had comments open, not that the caller could read it. On sites configured to allow guest comments, an attacker who supplies or enumerates a post ID can attach comments to draft, pending, private, trashed or password-protected posts, and each new comment fires wp_notify_moderator(), whose subject line contains the post title - so hidden titles are emailed off the site. The same mutation also returns distinguishable error messages for non-existent, hidden and comment-closed IDs (enabling post ID enumeration) and let any caller set a comment's date and type, permitting backdated comments and comments filed as pingbacks or trackbacks; no public exploit code or CISA KEV entry was identified at time of analysis, and the case is assessed as a moderate-priority information-disclosure and integrity issue rather than a code-execution threat. Sites that require registration or login before commenting block unauthenticated exploitation of the write path, and the vendor's only complete fix is upgrading to 2.24.1.
RemediationAI
Vendor-released patch: 2.24.1 - upgrade WPGraphQL to 2.24.1 (release https://github.com/wp-graphql/wp-graphql/releases/tag/wp-graphql%2Fv2.24.1, fix commit https://github.com/wp-graphql/wp-graphql/commit/b9da32bd8e6025e19a9b04acaa129978eba71177, advisory https://github.com/wp-graphql/wp-graphql/security/advisories/GHSA-4vgv-vvxr-9fh9). The vendor states there is no configuration workaround other than disabling comments site-wide, which closes the mutation's write path at the cost of losing comments entirely; where the GraphQL endpoint cannot be patched immediately, removing public reachability of that endpoint achieves the same effect with the same kind of functional cost, since reachability of the endpoint is a precondition for exploitation. After updating, any import, migration or seeding scripts that created comments on unpublished content through the API will stop working and must run as a user who can read that content, and clients that set a comment date must run as a user holding moderate_comments, otherwise the date is ignored and the comment receives the current time (the advisory notes this becomes a hard error in v3).
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
WPGraphQL is a GraphQL plugin for WordPress that exposes the site's content model through mutations and connections. CVE-2026-119702 is a CWE-862 missing authorization flaw (the vendor advisory also tags CWE-20 input validation and CWE-204 observable response discrepancy) in the createComment mutation's handling of its commentOn argument. WordPress core's own comment path, wp_handle_comment_submission(), refuses comments on trashed posts, on statuses that are neither public nor private without the read_post capability, on password-protected posts, and on posts with comments closed; the plugin replicated only the existence and comment_status checks, so any caller reaching the endpoint could write to content in any status. Two secondary weaknesses amplify it: the mutation's error responses differed for a non-existent ID, an existing but hidden post, and a visible post with comments closed, turning it into a post-ID oracle across every status; and CommentMutation::prepare_comment_object() accepted caller-supplied date and type without checking moderate_comments, letting a comment be placed anywhere in a thread's history or filed as a pingback/trackback that themes and plugins render differently. The disclosure vector runs through wp_notify_moderator(), whose notification subject includes the title of the commented-on post. The fix adds assert_can_comment_on(), which mirrors core: hidden statuses, trashed posts, password-protected posts and non-existent IDs all return the identical message 'The ID of the node to comment on is invalid', a read_post-capable caller gets a distinct explanation for draft/pending content, and comments-closed is only reported for content the caller can already read; date and type are now silently dropped for callers lacking moderate_comments (an error is planned for v3).
Know when Wpgraphql gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Unauthenticated network request with no user interaction (PR:N/UI:N/AC:L) on default anonymous-comment sites; impact limited to hidden-title/ID disclosure (C:L) and inserting/forging comments (I:L), no availability effect.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
WPGraphQL before 2.24.1 contains a missing authorization vulnerability in the createComment mutation that allows unauthenticated attackers to comment on non-public posts by bypassing post status checks. Attackers can attach comments to draft, private, trashed, or password-protected posts to leak hidden titles via moderator notifications, enumerate post IDs, and backdate comments or mark them as pingbacks.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
The WPGraphQL 0.2.3 plugin for WordPress allows remote attackers to register a new user with admin privileges, whenever
An issue was discovered in the WPGraphQL 0.2.3 plugin for WordPress. Rated critical severity (CVSS 9.1), this vulnerabil
WordPress Plugin WPGraphQL 1.3.5 contains a denial of service vulnerability that allows unauthenticated attackers to exh
The createComment mutation in the WPGraphQL 0.2.3 plugin for WordPress allows unauthenticated users to post comments on
Unauthenticated SQL injection in the WPGraphQL WordPress plugin versions prior to 2.11.1 allows remote attackers to inje
Unauthenticated email flooding in WPGraphQL 2.24.0 and earlier lets a remote attacker send roughly a thousand password r
WPGraphQL 2.24.0 and earlier leak object existence through four GraphQL write mutations - deleteMediaItem, updateMediaIt
Unbounded automatic persisted-query storage in WPGraphQL Smart Cache 2.3.2 and earlier lets unauthenticated remote attac
Cross-site request forgery (CSRF) in WPGraphQL plugin versions up to 2.5.3 allows unauthenticated attackers to perform u
Unauthenticated retrieval of embedded sensitive data is possible on WordPress sites running the WPGraphQL plugin through
Server-Side Request Forgery (SSRF) vulnerability in WPGraphQL.14.5. Rated medium severity (CVSS 4.4), this vulnerability
EUVD-2026-114107
GHSA-wj7h-xjr7-93c6
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB