CVE-2015-20111

9.8 CRITICAL

📋 TL;DR

This vulnerability in miniupnp library allows buffer overflow due to missing snprintf return value checks, leading to significant data leaks. In Bitcoin Core before version 0.12, it could enable remote code execution when combined with CVE-2015-6031. Affected systems include Bitcoin Core and any products using vulnerable miniupnp versions.

💻 Affected Systems

Products:
  • Bitcoin Core
  • miniupnp
  • products using miniupnp library
Versions: miniupnp before commit 4c90b87, Bitcoin Core before 0.12
Operating Systems: All platforms running affected software
Default Config Vulnerable: ⚠️ Yes
Notes: Bitcoin Core versions before 0.12 with UPnP enabled are particularly vulnerable to RCE when combined with CVE-2015-6031.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete system compromise, data theft, and potential cryptocurrency wallet compromise in Bitcoin Core systems.

🟠

Likely Case

Buffer overflow causing data leaks, service disruption, and potential privilege escalation.

🟢

If Mitigated

Limited impact with proper network segmentation and UPnP disabled.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: CONFIRMED
Unauthenticated Exploit: ⚠️ Yes
Complexity: MEDIUM

Exploitation requires specific conditions but has been weaponized for Bitcoin Core systems. The vulnerability is in a widely used library affecting multiple products.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: miniupnp commit 4c90b87 or later, Bitcoin Core 0.12 or later

Vendor Advisory: https://bitcoincore.org/en/2024/07/03/disclose_upnp_rce/

Restart Required: Yes

Instructions:

1. Update miniupnp to commit 4c90b87 or later. 2. For Bitcoin Core, upgrade to version 0.12 or later. 3. Restart affected services after patching.

🔧 Temporary Workarounds

Disable UPnP

all

Disable Universal Plug and Play functionality in affected applications

For Bitcoin Core: bitcoin-qt -upnp=0 or add upnp=0 to bitcoin.conf

Network Segmentation

all

Isolate systems running vulnerable software from untrusted networks

🧯 If You Can't Patch

  • Disable UPnP functionality completely on affected systems
  • Implement strict network access controls and firewall rules to limit exposure

🔍 How to Verify

Check if Vulnerable:

Check miniupnp version: if using commit before 4c90b87 or Bitcoin Core version before 0.12, system is vulnerable.

Check Version:

For Bitcoin Core: bitcoin-cli --version. For miniupnp: check git commit hash or library version.

Verify Fix Applied:

Verify miniupnp is at commit 4c90b87 or later, or Bitcoin Core is version 0.12 or later.

📡 Detection & Monitoring

Log Indicators:

  • Buffer overflow errors in application logs
  • Unexpected UPnP traffic patterns
  • Crash dumps from miniupnp processes

Network Indicators:

  • Unusual UPnP discovery requests
  • Exploit traffic patterns targeting port 1900/udp

SIEM Query:

source="application_logs" AND ("buffer overflow" OR "miniupnp" OR "UPnP") AND severity=HIGH

🔗 References

📤 Share & Export