CVE-2025-58431

6.2 MEDIUM

📋 TL;DR

This vulnerability in ZimaOS allows any user with localhost access to read arbitrary files as the root user through the /v2_1/files/file/download endpoint. It affects ZimaOS version 1.4.1 and earlier, potentially exposing sensitive system files. The risk is highest for systems with multiple local users or services that can access localhost.

💻 Affected Systems

Products:
  • ZimaOS
Versions: 1.4.1 and earlier
Operating Systems: ZimaOS (fork of CasaOS)
Default Config Vulnerable: ⚠️ Yes
Notes: Affects both Zima devices and x86-64 systems with UEFI running ZimaOS. The vulnerable endpoint is accessible to any user with localhost access.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

An attacker with localhost access could read sensitive system files (e.g., /etc/shadow, SSH keys, configuration files) leading to privilege escalation, credential theft, or complete system compromise.

🟠

Likely Case

Malicious local users or compromised services reading sensitive configuration files to gain unauthorized access or escalate privileges.

🟢

If Mitigated

With proper network segmentation and access controls, impact is limited to authorized local users only.

🌐 Internet-Facing: LOW - The vulnerability requires localhost access, making direct internet exploitation unlikely unless combined with another vulnerability.
🏢 Internal Only: HIGH - Any user or service with localhost access can exploit this vulnerability to read sensitive files as root.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires localhost access but no authentication to the endpoint. Attackers need to craft requests to the vulnerable endpoint to read arbitrary files.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after 1.4.1

Vendor Advisory: https://github.com/IceWhaleTech/ZimaOS/security/advisories/GHSA-vqrw-9v9m-6g87

Restart Required: No

Instructions:

1. Update ZimaOS to the latest version (after 1.4.1). 2. Check the vendor advisory for specific patching instructions. 3. Verify the fix by testing the vulnerable endpoint.

🔧 Temporary Workarounds

Restrict localhost access

all

Limit which users and services can access localhost on the affected system

# Use firewall rules to restrict localhost access
iptables -A INPUT -i lo -j DROP
iptables -A INPUT -i lo -m state --state ESTABLISHED,RELATED -j ACCEPT

Disable vulnerable endpoint

all

Block access to the /v2_1/files/file/download endpoint if not needed

# Use web server configuration or firewall to block the endpoint
iptables -A INPUT -p tcp --dport 80 -m string --string "/v2_1/files/file/download" --algo bm -j DROP

🧯 If You Can't Patch

  • Implement strict network segmentation to limit localhost access to trusted users only.
  • Monitor for unusual file access patterns and implement file integrity monitoring on sensitive system files.

🔍 How to Verify

Check if Vulnerable:

Test if you can access the endpoint from localhost: curl -v http://localhost/v2_1/files/file/download?path=/etc/passwd

Check Version:

Check ZimaOS version: cat /etc/os-release | grep VERSION

Verify Fix Applied:

After patching, the same curl command should return an error or be properly restricted.

📡 Detection & Monitoring

Log Indicators:

  • Unusual access patterns to /v2_1/files/file/download endpoint
  • Multiple file read requests from localhost to sensitive paths

Network Indicators:

  • HTTP requests to /v2_1/files/file/download with file path parameters from localhost

SIEM Query:

source="web_access.log" AND uri="/v2_1/files/file/download" AND src_ip="127.0.0.1"

🔗 References

📤 Share & Export