CVE-2019-10877
📋 TL;DR
CVE-2019-10877 is an integer overflow vulnerability in Teeworlds 0.7.2 that occurs when loading map files. The overflow in CMap::Load() leads to a buffer overflow, potentially allowing remote code execution. Anyone running Teeworlds servers or clients with affected versions is vulnerable.
💻 Affected Systems
- Teeworlds
📦 What is this software?
Teeworlds by Teeworlds
⚠️ Risk & Real-World Impact
Worst Case
Remote code execution leading to complete system compromise, allowing attackers to install malware, steal data, or create persistent backdoors.
Likely Case
Server crash (denial of service) or client crashes when processing malicious map files, potentially disrupting gameplay.
If Mitigated
No impact if patched or if network controls prevent malicious map file transmission.
🎯 Exploit Status
The vulnerability is in map file parsing, which can be triggered by loading a specially crafted map file. Public references discuss the issue and exploitation appears straightforward.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 0.7.3 and later
Vendor Advisory: https://github.com/teeworlds/teeworlds/issues/2071
Restart Required: Yes
Instructions:
1. Download Teeworlds 0.7.3 or later from official sources. 2. Stop all Teeworlds services. 3. Install the updated version. 4. Restart services.
🔧 Temporary Workarounds
Network filtering
allBlock or filter map file transfers at network level to prevent malicious maps from reaching vulnerable systems.
Map source restriction
allOnly allow loading of maps from trusted, verified sources.
🧯 If You Can't Patch
- Isolate Teeworlds servers on separate network segments with strict firewall rules
- Implement application whitelisting to prevent execution of unauthorized code
🔍 How to Verify
Check if Vulnerable:
Check Teeworlds version: teeworlds --version or examine installed package version. If version is 0.7.2, system is vulnerable.
Check Version:
teeworlds --version
Verify Fix Applied:
Verify version is 0.7.3 or later and test map loading functionality with known safe maps.
📡 Detection & Monitoring
Log Indicators:
- Unexpected crashes in Teeworlds process
- Error messages related to map loading or memory corruption
Network Indicators:
- Unusual map file transfers to Teeworlds servers
- Traffic patterns suggesting exploitation attempts
SIEM Query:
process_name:"teeworlds" AND (event_type:"crash" OR error_message:"map" OR error_message:"overflow")
🔗 References
- http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00046.html
- http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00077.html
- https://github.com/teeworlds/teeworlds/issues/2071
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/5KCS2CFDYJFBLZ4QKVPNJWHOZEGQ2LBC/
- http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00046.html
- http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00077.html
- https://github.com/teeworlds/teeworlds/issues/2071
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/5KCS2CFDYJFBLZ4QKVPNJWHOZEGQ2LBC/