CVE-2025-15376
CSRF in WordPress Stopwords for Comments Plugin Allows Unauthorized Changes
Publication date: 2026-01-14
Last updated on: 2026-01-14
Assigner: Wordfence
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| unknown_vendor | stopwords_for_comments | to 1.1 (inc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-352 | The web application does not, or cannot, sufficiently verify whether a request was intentionally provided by the user who sent the request, which could have originated from an unauthorized actor. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability is a Cross-Site Request Forgery (CSRF) issue in the Stopwords for comments WordPress plugin (up to version 1.1). It occurs because the plugin's 'set_stopwords_for_comments' and 'delete_stopwords_for_comments' functions lack nonce validation, which is a security measure to verify requests. As a result, an attacker can trick a site administrator into performing unintended actions, such as adding or deleting stopwords, by sending a forged request that the administrator unknowingly executes.
How can this vulnerability impact me? :
This vulnerability allows an unauthenticated attacker to manipulate the stopwords list used for comment moderation by adding or deleting stopwords without authorization. This could disrupt the comment filtering process, potentially allowing unwanted comments to be posted or legitimate comments to be blocked. It requires tricking an administrator into clicking a malicious link, which could lead to degraded moderation effectiveness and possible misuse of the comment system.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by monitoring for unauthorized or forged HTTP requests targeting the AJAX endpoints 'set_stopwords_for_comments' and 'delete_stopwords_for_comments' in the WordPress admin area. Since the vulnerability involves missing nonce validation allowing unauthenticated attackers to add or delete stopwords via forged requests, you can check your web server logs for suspicious POST requests to these AJAX actions. For example, you can use commands like: 1) To search Apache logs for such requests: grep -i 'set_stopwords_for_comments' /var/log/apache2/access.log grep -i 'delete_stopwords_for_comments' /var/log/apache2/access.log 2) To monitor live traffic for these requests: sudo tcpdump -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' | grep -E 'set_stopwords_for_comments|delete_stopwords_for_comments' These commands help identify if any forged requests are being made to these vulnerable functions. Additionally, reviewing the WordPress admin interface for unexpected changes in the stopwords list may indicate exploitation. [2]
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include: 1) Update the Stopwords for Comments plugin to a version that patches this vulnerability once available. 2) Until an update is available, restrict access to the WordPress admin area to trusted users only and avoid clicking on suspicious links that could trigger forged requests. 3) Implement additional security measures such as Web Application Firewalls (WAF) to block unauthorized POST requests to the AJAX endpoints 'set_stopwords_for_comments' and 'delete_stopwords_for_comments'. 4) Consider disabling or removing the plugin if it is not essential to reduce the attack surface. 5) Monitor logs for suspicious activity related to these AJAX actions to detect potential exploitation attempts. [2]