CVE-2022-25104

7.5 HIGH

📋 TL;DR

HorizontCMS v1.0.0-beta.2 contains an arbitrary file download vulnerability in the /admin/file-manager/ component that allows authenticated attackers to download any file from the server. This affects all installations running the vulnerable version. Attackers can access sensitive files including configuration files, source code, and system files.

💻 Affected Systems

Products:
  • HorizontCMS
Versions: v1.0.0-beta.2
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires authenticated access to the admin panel. The vulnerability is present in the default installation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete server compromise through downloading sensitive configuration files containing database credentials, SSH keys, or other secrets leading to lateral movement and data exfiltration.

🟠

Likely Case

Unauthorized access to sensitive files including database credentials, application source code, and configuration files, potentially leading to data breaches or further exploitation.

🟢

If Mitigated

Limited impact with proper access controls, network segmentation, and file system permissions preventing access to critical system files.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires admin credentials. The vulnerability is well-documented in public GitHub issues with technical details.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v1.0.0-beta.3 or later

Vendor Advisory: https://github.com/ttimot24/HorizontCMS/issues/43

Restart Required: Yes

Instructions:

1. Backup your current installation and database. 2. Download the latest version from the official repository. 3. Replace all files with the new version. 4. Restart the web server service.

🔧 Temporary Workarounds

Restrict Admin Access

all

Limit access to the admin panel to specific IP addresses or networks only.

# Apache: RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^192\.168\.1\.
RewriteRule ^admin/ - [F]
# Nginx: location /admin/ { allow 192.168.1.0/24; deny all; }

Disable File Manager

linux

Remove or rename the vulnerable file-manager component directory.

mv /path/to/horizontcms/admin/file-manager /path/to/horizontcms/admin/file-manager.disabled

🧯 If You Can't Patch

  • Implement strict network access controls to limit admin panel access to trusted IP addresses only.
  • Apply file system permissions to restrict access to sensitive directories and files outside the web root.

🔍 How to Verify

Check if Vulnerable:

Check if running HorizontCMS v1.0.0-beta.2 and test if authenticated admin can access /admin/file-manager/ with directory traversal parameters.

Check Version:

grep -r "version.*beta.2" /path/to/horizontcms/ || cat /path/to/horizontcms/composer.json | grep version

Verify Fix Applied:

Verify version is v1.0.0-beta.3 or later and test that file download attempts with traversal parameters are blocked.

📡 Detection & Monitoring

Log Indicators:

  • Multiple requests to /admin/file-manager/ with ../ patterns
  • Unusual file access patterns from admin users
  • Access to files outside expected web directories

Network Indicators:

  • HTTP requests containing directory traversal sequences (../) to admin endpoints
  • Unusual file downloads from admin interface

SIEM Query:

source="web_logs" AND uri="/admin/file-manager/*" AND (uri="*../*" OR uri="*..%2f*")

🔗 References

📤 Share & Export