CVE-2024-5674·PHP vulnerability
The Newsletter - API v1 and v2 addon plugin for WordPress is vulnerable to unauthorized subscribers management due to PHP type juggling issue on the check_api_key function in all versions up to, and including, 2.4.5. This makes it possible for unauthenticated attackers to list, create or delete newsletter subscribers. This issue affects only sites running the PHP version below 8.0
- Severity
- medium
- Software
- PHP
- Fixed in
- 2.4.6
- Published
- 2024-06-12
Affected versions
Until: 2.4.6
Fixed in: 2.4.6
How to fix this CVE
Upgrade the Newsletter - API WordPress plugin to version 2.4.6 or later, and ensure your PHP installation is version 8.0 or above to mitigate type juggling vulnerabilities in the API key validation logic. If you are running PHP below 8.0, either update PHP immediately or disable the Newsletter API addon until both conditions are met. This vulnerability allows unauthenticated attackers to manipulate subscriber data through improper authentication checks.
sudo dnf update php php-cli php-fpm -yDefensia detects this vulnerability
What an exploitation attempt looks like
Sample log line indicative of exploitation attempts:
POST|GET /wp-json/newsletter/v[12]/(subscribers|newsletter) HTTP/1.1.*(?!Authorization: Bearer|X-API-Key:)WAF mitigation (if patching is not yet possible)
Add this rule to your WAF to block exploitation attempts while you schedule the patch.
Block unauthenticated requests to /wp-json/newsletter/v1/ and /wp-json/newsletter/v2/ endpoints that lack valid Authorization or X-API-Key headers. Implement rate limiting on API endpoints to 10 requests per minute per IP address.How to check if you are affected
- Step 1: Check your PHP version by running: php --version
- Step 2: Log into your WordPress dashboard and navigate to Plugins > Installed Plugins to verify the Newsletter plugin version is 2.4.6 or higher
- Step 3: Search your web server access logs for unauthenticated requests to /wp-json/newsletter/ endpoints without valid API credentials using: grep 'wp-json/newsletter' /var/log/apache2/access.log | grep -v 'Authorization'
- Step 4: Verify the PHP version in your phpinfo() output matches the upgraded version from Step 1
FAQ
What is CVE-2024-5674?
This vulnerability is a PHP type juggling flaw in the Newsletter - API plugin's authentication function that allows attackers to bypass API key validation and gain unauthorized access to subscriber management operations on WordPress sites running PHP versions below 8.0.
Is CVE-2024-5674 being actively exploited?
No, this vulnerability is not currently listed on the CISA Known Exploited Vulnerabilities catalog, and no public exploit code is available at this time.
What versions of PHP are affected by CVE-2024-5674?
Only PHP versions below 8.0 are affected by this vulnerability; PHP 8.0 and later have stricter type comparison rules that prevent this class of attack.
How do I check if my server is vulnerable to CVE-2024-5674?
Run php --version to check your PHP version (if below 8.0, you are at risk) and verify your Newsletter plugin version in WordPress admin by navigating to Plugins and confirming it is 2.4.6 or newer.
Does Defensia detect CVE-2024-5674?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If PHP is installed on a monitored server, CVE-2024-5674 will appear in your dashboard with remediation steps.
Related PHP CVEs
References
- https://www.thenewsletterplugin.com/documentation/developers/newsletter-api-2/
- https://www.wordfence.com/threat-intel/vulnerabilities/id/ecd9800e-ce0f-45f3-bb66-3690c51d885b?source=cve
- https://www.thenewsletterplugin.com/documentation/developers/newsletter-api-2/
- https://www.wordfence.com/threat-intel/vulnerabilities/id/ecd9800e-ce0f-45f3-bb66-3690c51d885b?source=cve
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-5674. Free for 1 server.
Get started free