CVE-2023-45312

8.8 HIGH

📋 TL;DR

CVE-2023-45312 is an authentication bypass vulnerability in mtproto_proxy (MTProto proxy) for Erlang that allows unauthenticated remote attackers to execute arbitrary commands. This affects default installations of mtproto_proxy up to version 0.7.2. Organizations running vulnerable MTProxy servers for Telegram are at risk.

💻 Affected Systems

Products:
  • mtproto_proxy (MTProto proxy)
Versions: Through 0.7.2
Operating Systems: Linux/Unix systems running Erlang
Default Config Vulnerable: ⚠️ Yes
Notes: Default installations are vulnerable without any configuration changes. Approximately 2000 Telegram proxy servers were reportedly exposed.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise with attacker gaining full control over the proxy server, potentially pivoting to internal networks, stealing sensitive data, and deploying ransomware or other malware.

🟠

Likely Case

Remote command execution leading to proxy server takeover, data exfiltration, and use of compromised server for further attacks or cryptocurrency mining.

🟢

If Mitigated

Limited impact with proper network segmentation and authentication controls preventing exploitation or containing damage to isolated proxy environment.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires no authentication and has been publicly documented with technical details available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.7.3 or later

Vendor Advisory: https://github.com/seriyps/mtproto_proxy

Restart Required: Yes

Instructions:

1. Update mtproto_proxy to version 0.7.3 or later using package manager or source compilation. 2. Restart the mtproto_proxy service. 3. Verify the update was successful.

🔧 Temporary Workarounds

Network Access Restriction

linux

Restrict network access to mtproto_proxy using firewall rules to only allow trusted IP addresses

iptables -A INPUT -p tcp --dport 443 -s TRUSTED_IP -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j DROP

Service Isolation

linux

Run mtproto_proxy in a container or isolated environment with minimal privileges

docker run -d --name mtproxy --restart always -p 443:443 seriyps/mtproto_proxy:latest

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate vulnerable proxy servers from critical infrastructure
  • Deploy intrusion detection systems to monitor for exploitation attempts and command execution patterns

🔍 How to Verify

Check if Vulnerable:

Check mtproto_proxy version: grep -i version /path/to/mtproto_proxy/config or check running process version

Check Version:

mtproto_proxy --version or check package manager: dpkg -l | grep mtproto-proxy

Verify Fix Applied:

Verify version is 0.7.3 or later and test authentication requirements for proxy access

📡 Detection & Monitoring

Log Indicators:

  • Unauthenticated access attempts to proxy endpoints
  • Unusual command execution patterns in system logs
  • New process creation from mtproto_proxy user

Network Indicators:

  • Unusual outbound connections from proxy server
  • Command and control traffic patterns
  • Exploitation attempts on proxy port 443

SIEM Query:

source="mtproto_proxy.log" AND (event="unauthorized_access" OR event="command_execution")

🔗 References

📤 Share & Export