Skip to main content
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Register subscriber-level account
  2. Delivery
    Inject shortcode markup into profile field
  3. Exploit
    Plugin calls do_shortcode on unvalidated value
  4. Execution
    Arbitrary shortcodes execute in site context
  5. Impact
    Disclose/alter data via reachable shortcodes

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated account with subscriber-level access or above on a WordPress site running ProfilePress (plugin slug wp-user-avatar) version 4.17.2 or earlier; exploitation is trivial where the plugin's self-service user registration is enabled (its core purpose), giving attackers an easy path to obtain the needed subscriber account. The attacker must reach the frontend-profile / profile-field rendering path that passes an unvalidated value into do_shortcode. The severity of the outcome is LIMITED and variable: arbitrary shortcode execution only yields significant confidentiality/integrity impact if other privileged or data-exposing shortcodes are registered on the site; a minimal install limits practical damage. No user interaction is required (UI:N).

Impact

This is a moderate-priority, authenticated-access issue rather than a critical drive-by threat, despite the 8.1 CVSS. The vendor CVSS vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N) shows network-reachable, low-complexity exploitation but requires PR:L (subscriber-level authentication), which meaningfully raises the bar since it needs a valid account on the target WordPress site - trivial where open registration is enabled (common for ProfilePress, a membership/registration plugin) but a barrier otherwise. The C:H/I:H rating appears optimistic for the attacker: the flaw is arbitrary shortcode execution via an unvalidated do_shortcode call, and the actual confidentiality/integrity impact is contingent on which OTHER plugins' shortcodes are registered on the site - do_shortcode alone is not full server RCE. No EPSS score, no CISA KEV listing, and no public POC were provided, so there is no evidence of active exploitation; the 'RCE' tag overstates the technical outcome. Net: patch promptly on sites with open registration, but this is not a wormable unauthenticated flaw.

Exploit ScenarioDerived

An attacker registers a subscriber-level account (or uses an existing one) on a WordPress site running ProfilePress <=4.17.2, then submits a profile-field or frontend-profile value containing crafted shortcode markup. When the plugin renders that value through do_shortcode without validation, the attacker's shortcodes execute in the site context, potentially invoking privileged shortcodes exposed by ProfilePress or other installed plugins to disclose or alter data. No public exploit code was identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 19, 2026

Authenticated users with subscriber-level access or higher can execute arbitrary WordPress shortcodes through the ProfilePress plugin (slug wp-user-avatar) in all versions up to and including 4.17.2, because user-controlled values reach do_shortcode() without validation. Exploitation requires a low-privilege account, which is trivially obtained on sites that enable the plugin's self-service registration feature, and no user interaction is needed; however, the practical impact is variable and often limited, since substantial confidentiality or integrity loss only materializes when other privileged or data-exposing shortcodes are registered on the same site. The vendor's upstream severity rating is 8.1, while independent assessment rates the realistic vector as CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N (limited C/I, no availability impact); no public exploit code or confirmed active exploitation (CISA KEV) was identified at time of analysis.

RemediationAI

Vendor-released patch: 4.17.3 - upgrade the ProfilePress (wp-user-avatar) plugin to version 4.17.3 or later, which the plugin's Trac changeset confirms addresses the shortcode parser (see https://plugins.trac.wordpress.org/changeset?reponame=&new=3682619%40wp-user-avatar%2Ftags%2F4.17.3&old=3666803%40wp-user-avatar%2Ftags%2F4.17.2 and the trunk commit https://plugins.trac.wordpress.org/changeset/3682604/wp-user-avatar/trunk/src/ShortcodeParser/Builder/FrontendProfileBuilder.php). Where immediate upgrade is not possible, the most effective compensating control is to disable self-service user registration and any public subscriber-creation path (for example, turning off the plugin's registration form and WordPress's "Anyone can register" option); this removes the low-privilege account the attack requires, with the trade-off that legitimate signups must be handled manually or via an administrator. Additional hardening includes auditing and removing unnecessary shortcodes registered by other plugins and the active theme - since the practical blast radius of arbitrary shortcode execution depends on what shortcodes are registered - and limiting subscriber-level accounts on the site. Restricting access to the frontend profile and profile-field rendering endpoints (the profile editor/display pages) to trusted roles via a WAF rule or membership restriction reduces exposure, though it may break expected profile functionality for ordinary members. Note that general code-hardening plugins and generic "defense in depth" measures do not address the root cause here; the authoritative fix remains upgrading to 4.17.3.

Affected VersionsENISA

Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress 0 ≤4.17.2

Affected Packages

euvd paid_membership_plugin_ecommerce_user_registration_form_login_form_user_profile_restrict_content_profilepress no fix

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

The issue is CWE-94 (Improper Control of Generation of Code / Code Injection) in the WordPress plugin distributed as "Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content - ProfilePress" under the slug wp-user-avatar, published by ProperFraction (CPE vendor properfraction:paid_membership_plugin,_ecommerce,_user_registration_form,_login_form,_user_profile_&_restrict_content_-_profilepress). WordPress shortcodes are macro-like tokens that the platform expands via do_shortcode(); when a plugin passes an unvalidated, attacker-influenced value into that function, the attacker effectively gains the ability to invoke any shortcode registered on the site - which may include shortcodes that read data, render arbitrary content, or perform privileged actions. The referenced source locations in version 4.17.2 (src/ShortcodeParser/Builder/FrontendProfileBuilder.php line 339, src/ShortcodeParser/FrontendProfileTag.php line 133, src/Themes/DragDrop/ProfileFieldListing.php line 146, src/Classes/EditUserProfile.php line 337, and src/Functions/GlobalFunctions.php line 1715) cluster around the plugin's frontend profile and profile-field rendering path, indicating the unvalidated value flows from user/profile data into shortcode expansion during profile display. Because the reachable sink is shortcode execution rather than arbitrary PHP evaluation, real-world severity depends heavily on which shortcodes are registered by other plugins or the theme, making impact site-specific and frequently lower than the base vector's C:H/I:H suggests.

Know when Paid Membership Plugin Ecommerce User Registration Form Login Form User Profile Restrict Content Profilepress 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

Vendor (Wordfence) PRIMARY 8.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
vuln.today AI 5.4 MEDIUM

Network, low-complexity, but PR:L for the required subscriber account; C/I reduced to L because do_shortcode impact is contingent on which other shortcodes are registered, not guaranteed full compromise.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

DescriptionCVE.org

The Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content - ProfilePress plugin for WordPress is vulnerable to arbitrary shortcode execution in all versions up to, and including, 4.17.2 This is due to the software allowing users to execute an action that does not properly validate a value before running do_shortcode. This makes it possible for authenticated attackers, with subscriber-level access and above, to execute arbitrary shortcodes.

Executive ViewAI

Why It Matters

ProfilePress (wp-user-avatar) versions up to 4.17.2 allow authenticated subscriber-level users to execute arbitrary shortcodes, which can expose sensitive data or enable limited unauthorized actions when other plugins register privileged shortcodes. Because no vendor patch is available and low-privilege accounts are easily obtained on sites with open registration, leadership should prioritize inventorying affected sites and tightening registration controls to mitigate risk.

Business Impact: Medium
Compensating Controls

Disable self-service registration, restrict subscriber-level capabilities to the minimum, deactivate the plugin if not business-critical, deploy WAF rules to block shortcode execution attempts, and audit other plugins for dangerous shortcodes that could amplify impact.

Threat Intelligence Overview

EPSS Score
0.4%
Top 70% exploitable
Prevalence
Medium
popular WordPress membership/registration plugin, common but not ubiquitous
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Medium
Technical Impact
Total

Priority Score

40
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +40
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy