# Team Members <= 5.4.1 - Authenticated (Contributor+) Stored Cross-Site Scripting via Team Member Photo and Social Link URLs

- **ID:** WPSEC-2026-2868
- **Plugin:** Team Members (`team-members`), https://wordpress.org/plugins/team-members/
- **Affected versions:** all versions before 5.4.2
- **Fixed in:** 5.4.2 (Update to 5.4.2 or later.)
- **Severity:** Medium 6.4 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N)
- **Weakness:** CWE-79
- **Usage among sites WPSec scans:** plugin Medium, affected versions Medium (as of 2026-11-12)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/team-members
- **Fix released:** 2026-11-10
- **Published:** 2026-11-12
- **URL:** https://wpsec.com/vuln/WPSEC-2026-2868/

## Description

The Team Members plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the team member photo and social link URL fields in all versions up to, and including, 5.4.1 due to insufficient input sanitization and output escaping. The photo value and social URLs were saved with only text sanitization, allowing javascript: URLs and attribute-breaking values, and the admin editor script built preview and image HTML through string concatenation and .html(). This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts that execute when another user, such as an administrator, opens or previews the team in the editor.

## References

- https://wpsec.com/vuln/WPSEC-2026-2868/
- https://plugins.svn.wordpress.org/team-members/tags/5.4.2/
- https://wordpress.org/plugins/team-members/

Source: WPSec, https://wpsec.com/vuln/WPSEC-2026-2868/

License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Free to use, share and adapt, also commercially, if you credit WPSec and link to this advisory.
