CVE-2023-33294

9.8 CRITICAL

📋 TL;DR

CVE-2023-33294 is a critical remote code execution vulnerability in KaiOS 3.0 where an exposed local web server on port 2929 allows arbitrary bash command execution as root. Any website visited by the user can exploit this to steal data, delete files, or render the device inoperable. All KaiOS 3.0 users before version 3.1 are affected.

💻 Affected Systems

Products:
  • KaiOS
Versions: 3.0 before 3.1
Operating Systems: KaiOS
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerable tctweb_server binary runs by default on port 2929 and is accessible to all websites via browser due to proper CORS headers.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete device compromise: attacker gains root access, can delete critical system files, modify system properties to brick the device, steal all user data including installed apps, notifications, and downloads.

🟠

Likely Case

Data theft and limited system modification: attackers would likely steal user data (installed apps, notifications, downloads) and potentially delete user files or modify non-critical system properties.

🟢

If Mitigated

Limited impact due to SELinux: SELinux prevents reads/writes/modifications to protected partitions, so core system files remain protected even if exploited.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

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

Exploitation requires only visiting a malicious website; no authentication or user interaction beyond browsing is needed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: KaiOS 3.1

Vendor Advisory: https://kaios.dev/cve/1411380

Restart Required: Yes

Instructions:

1. Update KaiOS to version 3.1 or later via device settings. 2. Restart device after update completes.

🔧 Temporary Workarounds

Block port 2929 at firewall

linux

Prevent access to the vulnerable web server by blocking port 2929

iptables -A INPUT -p tcp --dport 2929 -j DROP

Disable tctweb_server service

all

Stop and disable the vulnerable service if possible

adb shell pm disable com.tct.web.server
adb shell stop tctweb_server

🧯 If You Can't Patch

  • Avoid browsing untrusted websites on affected devices
  • Use network-level filtering to block access to port 2929

🔍 How to Verify

Check if Vulnerable:

Check if tctweb_server is running on port 2929: 'netstat -tlnp | grep 2929' or 'ps aux | grep tctweb_server'

Check Version:

adb shell getprop ro.build.version.release

Verify Fix Applied:

Verify KaiOS version is 3.1 or later in device settings, and confirm tctweb_server is not running on port 2929

📡 Detection & Monitoring

Log Indicators:

  • Unusual process execution from tctweb_server
  • Network connections to port 2929 from browser processes

Network Indicators:

  • HTTP requests to port 2929 with bash commands in parameters
  • Unusual outbound traffic following local port 2929 access

SIEM Query:

process_name='tctweb_server' AND (destination_port=2929 OR command_line CONTAINS 'bash')

🔗 References

📤 Share & Export