Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Network-reachable XML-RPC endpoint, low complexity, requires any authenticated Subscriber (PR:L), no UI; arbitrary options update yields full admin takeover so C/I/A:H.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Lifecycle Timeline
2DescriptionCVE.org
The Welcome Software Publishing plugin for WordPress is vulnerable to Arbitrary Options Update in all versions up to and including 0.0.31. This is due to a missing capability check in the nc_setOption() function, which is exposed via the nc.setOption XML-RPC method. The function authenticates the user via $wp_xmlrpc_server->login() (verifying credentials are valid) but does not perform any authorization check such as current_user_can('manage_options'). This makes it possible for authenticated attackers, with Subscriber-level access and above, to update arbitrary WordPress options via XML-RPC requests. This can be leveraged to change the default_role option to 'administrator' and then register a new administrator account, achieving full privilege escalation and site takeover.
Articles & Coverage 1
AnalysisAI
Privilege escalation in the Welcome Software Publishing WordPress plugin (versions ≤ 0.0.31) allows any authenticated user with Subscriber-level access or above to update arbitrary WordPress options via the nc.setOption XML-RPC method. By modifying the default_role option to 'administrator' and registering a new account, attackers achieve full site takeover. No public exploit identified at time of analysis, but the attack pattern is trivial and well-documented for similar WordPress XML-RPC missing-capability flaws.
Technical ContextAI
The vulnerability resides in the newscred-publishing plugin's nc_setOption() handler, registered as the XML-RPC method nc.setOption. The function calls $wp_xmlrpc_server->login() to authenticate the caller's credentials but omits any authorization check such as current_user_can('manage_options') before invoking WordPress's update_option(). This is a textbook CWE-862 (Missing Authorization) flaw: authentication confirms identity, but no role/capability gate restricts which users may invoke the privileged action. The affected CPE is cpe:2.3:a:newscred:welcome_software_publishing covering all versions through 0.0.31, distributed via the WordPress.org plugin repository.
RemediationAI
No vendor-released patch identified at time of analysis - no fix version is listed in the available references, only the vulnerable 0.0.31 source. Until a patched release is published, deactivate and remove the newscred-publishing plugin entirely, as it appears unmaintained and provides direct privilege-escalation primitives. Compensating controls if removal is not immediately feasible: disable XML-RPC site-wide (e.g., via 'add_filter("xmlrpc_enabled", "__return_false")' or by blocking /xmlrpc.php at the web server / WAF), which breaks legacy XML-RPC clients including some mobile apps and Jetpack features; disable open user registration in WordPress Settings → General (closes the Subscriber-onboarding path but blocks legitimate signups); and audit existing low-privilege accounts and the default_role option for tampering. Monitor wordfence.com for an updated advisory at the URL above.
Same weakness CWE-862 – Missing Authorization
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-38664
GHSA-xgj6-m977-pghj