CVE-2019-20797
📋 TL;DR
CVE-2019-20797 is a buffer overflow vulnerability in prboom-plus 2.5.1.5's UDP packet handling code that allows remote attackers to execute arbitrary code or cause denial of service. This affects both client and server components when processing network packets. Users running vulnerable versions of prboom-plus are at risk.
💻 Affected Systems
- prboom-plus
📦 What is this software?
Prboom Plus by Prboom Plus Project
⚠️ Risk & Real-World Impact
Worst Case
Remote code execution leading to complete system compromise
Likely Case
Denial of service causing application crashes
If Mitigated
Limited impact with proper network segmentation and exploit mitigations
🎯 Exploit Status
Proof of concept available in public references, exploitation requires sending crafted UDP packets
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2.5.1.6 or later
Vendor Advisory: https://logicaltrust.net/blog/2019/10/prboom1.html
Restart Required: Yes
Instructions:
1. Download latest prboom-plus from official repository 2. Compile and install updated version 3. Restart prboom-plus services
🔧 Temporary Workarounds
Network Firewall Block
linuxBlock UDP traffic to prboom-plus ports
iptables -A INPUT -p udp --dport [prboom-port] -j DROP
Disable Network Play
allDisable multiplayer/network functionality
Configure prboom-plus to run in single-player mode only
🧯 If You Can't Patch
- Implement strict network segmentation to isolate prboom-plus systems
- Deploy exploit mitigation technologies (ASLR, DEP, stack canaries)
🔍 How to Verify
Check if Vulnerable:
Check prboom-plus version: prboom-plus -version or examine package version
Check Version:
prboom-plus -version 2>&1 | grep -i version
Verify Fix Applied:
Confirm version is 2.5.1.6 or later and test network functionality
📡 Detection & Monitoring
Log Indicators:
- Application crashes
- Memory access violation errors
- Unexpected UDP packet size logs
Network Indicators:
- Unusually large UDP packets to prboom-plus ports
- Multiple malformed UDP packets
SIEM Query:
source="prboom-plus" AND (event_type="crash" OR error="segmentation fault")
🔗 References
- http://lists.opensuse.org/opensuse-security-announce/2020-06/msg00027.html
- http://lists.opensuse.org/opensuse-security-announce/2020-06/msg00028.html
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/77J22ZEQXS5SAYZGBDJ475AKFFJNKX5L/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/P3WS7GRZUIHCGLFET33MGC3PEKCH37W6/
- https://logicaltrust.net/blog/2019/10/prboom1.html
- https://sourceforge.net/p/prboom-plus/bugs/252/
- https://sourceforge.net/p/prboom-plus/bugs/253/
- http://lists.opensuse.org/opensuse-security-announce/2020-06/msg00027.html
- http://lists.opensuse.org/opensuse-security-announce/2020-06/msg00028.html
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/77J22ZEQXS5SAYZGBDJ475AKFFJNKX5L/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/P3WS7GRZUIHCGLFET33MGC3PEKCH37W6/
- https://logicaltrust.net/blog/2019/10/prboom1.html
- https://sourceforge.net/p/prboom-plus/bugs/252/
- https://sourceforge.net/p/prboom-plus/bugs/253/