/

CVE-2026-107657

Severity:

HIGH RISK

(7.2)

Stored XSS (CWE-79) in HivePress WordPress Profiles

CVE-2026-107657

Deferred

Vulnerability type

Category:

Stored Cross-Site Scripting

CWE:

CWE-79

Impact:

Arbitrary JavaScript Execution in User Browsers

Severity:

HIGH RISK

(7.2)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

HivePress – Business Directory, Listings & Classified Ads Plugin contains a stored cross-site scripting vulnerability in custom user attribute field handling. An unauthenticated attacker may inject scripts that execute when visitors view affected profile pages, when an administrator has enabled the required custom attribute and profile display configuration.

HivePress – Business Directory, Listings & Classified Ads Plugin contains a stored cross-site scripting vulnerability in custom user attribute field handling. An unauthenticated attacker may inject scripts that execute when visitors view affected profile pages, when an administrator has enabled the required custom attribute and profile display configuration.

Affected context

The issue occurs in WordPress sites using HivePress with front-end user profiles enabled and a text-type custom user attribute configured for display. Risk is present when the attribute's display format places the stored value within an HTML attribute context, such as a link target, and the plugin does not adequately sanitize the value before rendering it.

The issue occurs in WordPress sites using HivePress with front-end user profiles enabled and a text-type custom user attribute configured for display. Risk is present when the attribute's display format places the stored value within an HTML attribute context, such as a link target, and the plugin does not adequately sanitize the value before rendering it.

Exploit preconditions

  • Attack surface: Publicly accessible HivePress user profile or listing-related pages
  • Required access: No authenticated account is generally required to submit the malicious attribute value when the relevant public input path is available
  • Trigger point: A visitor or administrator views a page where the stored custom attribute is rendered
  • Configuration requirement: An administrator must enable front-end profiles and configure a text custom user attribute whose format inserts the value into an HTML attribute
  • Why exploitation is possible: Insufficient input sanitization and output escaping allow attacker-controlled data to be interpreted as browser-executable markup or script
  • Attack surface: Publicly accessible HivePress user profile or listing-related pages
  • Required access: No authenticated account is generally required to submit the malicious attribute value when the relevant public input path is available
  • Trigger point: A visitor or administrator views a page where the stored custom attribute is rendered
  • Configuration requirement: An administrator must enable front-end profiles and configure a text custom user attribute whose format inserts the value into an HTML attribute
  • Why exploitation is possible: Insufficient input sanitization and output escaping allow attacker-controlled data to be interpreted as browser-executable markup or script

Why this happens

The vulnerability is caused by treating a user-controlled custom attribute value as trusted content when constructing HTML. The value is not sufficiently sanitized for its intended context or escaped at output, allowing stored data to alter the resulting document and execute script in a viewer's browser. This maps to CWE-79: Improper Neutralization of Input During Web Page Generation, commonly known as cross-site scripting.

The vulnerability is caused by treating a user-controlled custom attribute value as trusted content when constructing HTML. The value is not sufficiently sanitized for its intended context or escaped at output, allowing stored data to alter the resulting document and execute script in a viewer's browser. This maps to CWE-79: Improper Neutralization of Input During Web Page Generation, commonly known as cross-site scripting.

Potential impact

  • Malicious script execution in the browsers of profile visitors
  • Theft of accessible session data or page information
  • Unauthorized actions performed in a victim's authenticated context
  • Defacement or manipulation of affected profile pages
  • Delivery of phishing content or redirection to malicious sites
  • Malicious script execution in the browsers of profile visitors
  • Theft of accessible session data or page information
  • Unauthorized actions performed in a victim's authenticated context
  • Defacement or manipulation of affected profile pages
  • Delivery of phishing content or redirection to malicious sites

General mitigation guidance

Mitigation generally focuses on enforcing context-aware output encoding and reducing trust in custom attribute values.

Common defensive patterns include:

  • Applying allowlisted input validation appropriate to the intended attribute type
  • Escaping values at the point of output for their specific HTML attribute context
  • Avoiding raw interpolation of user-controlled values into HTML templates
  • Restricting custom display formats to safe, predefined templates
  • Applying least-privilege permissions to users who can create or modify profile data
  • Reviewing existing stored values after defensive controls are applied
  • Using a content security policy as an additional containment layer where practical

Mitigation generally focuses on enforcing context-aware output encoding and reducing trust in custom attribute values.

Common defensive patterns include:

  • Applying allowlisted input validation appropriate to the intended attribute type
  • Escaping values at the point of output for their specific HTML attribute context
  • Avoiding raw interpolation of user-controlled values into HTML templates
  • Restricting custom display formats to safe, predefined templates
  • Applying least-privilege permissions to users who can create or modify profile data
  • Reviewing existing stored values after defensive controls are applied
  • Using a content security policy as an additional containment layer where practical

How teams detect issues like this

Organizations can look for this weakness through:

  • Static analysis rules identifying unescaped values inserted into HTML attributes
  • Code review checks for custom-field rendering and context-insensitive escaping
  • Dynamic testing of profile and custom attribute fields using harmless marker values
  • Inventory and policy review of administrator-configurable display templates
  • Web application monitoring for unexpected script-like content in profile attributes
  • Automated security review tools that flag missing sanitization or output encoding

Organizations can look for this weakness through:

  • Static analysis rules identifying unescaped values inserted into HTML attributes
  • Code review checks for custom-field rendering and context-insensitive escaping
  • Dynamic testing of profile and custom attribute fields using harmless marker values
  • Inventory and policy review of administrator-configurable display templates
  • Web application monitoring for unexpected script-like content in profile attributes
  • Automated security review tools that flag missing sanitization or output encoding

Sources

SourceLink
github.comgithub.com/hivepress/hivepress/releases/tag/1.7.32
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/hivepress/tags/1.7.31/includes/components/class-attribute.php#L1298
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/hivepress/tags/1.7.31/includes/fields/class-field.php#L561
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/hivepress/tags/1.7.31/includes/fields/class-text.php#L197
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/hivepress/tags/1.7.31/includes/helpers.php#L382
wordfence.comwordfence.com/threat-intel/vulnerabilities/id/d0e73b59-58d7-4f4b-b7f3-568190be9b09?source=cve

Frequently asked

questions

It can be exploitable through publicly reachable profile-related input and display paths, but the required custom attribute and profile configuration must be enabled.

The described attack does not generally require the attacker to authenticate. However, the attacker must have access to a supported way of supplying the stored attribute value, while an administrator must have configured the vulnerable display context.

Validate custom attribute values against an appropriate allowlist and apply context-aware HTML attribute escaping when rendering them. Avoid permitting arbitrary template formats that insert untrusted values into markup.

Treat all profile and custom-field data as untrusted, enforce output encoding at every rendering context, restrict configurable templates, and include stored-XSS tests in code review and security testing.

It can be exploitable through publicly reachable profile-related input and display paths, but the required custom attribute and profile configuration must be enabled.

The described attack does not generally require the attacker to authenticate. However, the attacker must have access to a supported way of supplying the stored attribute value, while an administrator must have configured the vulnerable display context.

Validate custom attribute values against an appropriate allowlist and apply context-aware HTML attribute escaping when rendering them. Avoid permitting arbitrary template formats that insert untrusted values into markup.

Treat all profile and custom-field data as untrusted, enforce output encoding at every rendering context, restrict configurable templates, and include stored-XSS tests in code review and security testing.

Find out what's already
exploitable in your codebase.