Skip to content
Fencer Vulns
medium 5.5

CVE-2022-2941 json

WP-UserOnline <= 2.88.0 - Authenticated (Admin+) Stored Cross-Site Scripting

published 2022-09-06 4 y ago modified 2026-06-17 4 mo ago also EUVD-2022-35162

cvss
5.5
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
7.8%
EPSS 7.8% chance of exploitation in 30 days, percentile 94%
public exploits
1
Exploit-DB

Summary

The WP-UserOnline plugin for WordPress has multiple Stored Cross-Site Scripting vulnerabilities in versions up to, and including 2.88.0. This is due to the fact that all fields in the "Naming Conventions" section do not properly sanitize user input, nor escape it on output. This makes it possible for authenticated attackers, with administrative privileges, to inject JavaScript code into the setting that will execute whenever a user accesses the injected page. This only affects multi-site installations and installations where unfiltered_html has been disabled.

Patch / fix

Timeline

  1. Published
  2. First public exploit (EDB-51020)

CISA SSVC

Exploitation
Proof of concept is public
Automatable
no
Technical impact
partial
Assessed
18 mo ago

Exploit prediction

7.78% chance of exploitation in the next 30 days, higher than 94% of all scored CVEs (FIRST EPSS, 2026-11-08).

Exploits and checks

  • EDB-51020 Wordpress Plugin WP-UserOnline 2.88.0 - Stored Cross Site Scripting (XSS) webapps, 2022-09-23
  • packetstormsecurity.com https://packetstormsecurity.com/files/168479/wpuseronline2880-xss.txt referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
CNA 3.1 5.5 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:N
NVD 3.1 4.8 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N

Affected products

  • gamerz WP-UserOnline

Classification

Weakness
  • CWE-79 Improper Neutralization of Input During Web Page Generation
Technology feeds

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.