CVE-2025-66571

N/A Unknown

📋 TL;DR

This vulnerability allows remote, unauthenticated attackers to inject arbitrary PHP objects into UNA CMS via the profile_id POST parameter. Successful exploitation could lead to arbitrary PHP code execution, potentially compromising the entire web server. All UNA CMS installations running versions 9.0.0-RC1 through 14.0.0-RC4 are affected.

💻 Affected Systems

Products:
  • UNA CMS
Versions: 9.0.0-RC1 - 14.0.0-RC4
Operating Systems: Any OS running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: All default installations within the affected version range are vulnerable. The vulnerability requires PHP's unserialize() function to be available.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete server compromise with attacker gaining full control over the web server, data exfiltration, lateral movement, and persistent backdoor installation.

🟠

Likely Case

Remote code execution leading to website defacement, data theft, or cryptocurrency mining malware deployment.

🟢

If Mitigated

Attack blocked at WAF level or unsuccessful due to hardened PHP configuration.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploit code is publicly available on Exploit-DB and other sources. The vulnerability requires no authentication and has straightforward exploitation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 14.0.0-RC5 or later

Vendor Advisory: https://unacms.com

Restart Required: No

Instructions:

1. Backup your UNA CMS installation and database. 2. Download the latest version from the official UNA CMS repository. 3. Replace the vulnerable BxBaseMenuSetAclLevel.php file with the patched version. 4. Verify the fix by checking that unserialize() is no longer called on untrusted input.

🔧 Temporary Workarounds

WAF Rule Implementation

all

Block malicious POST requests containing serialized PHP objects in the profile_id parameter.

ModSecurity rule: SecRule ARGS_POST:profile_id "@rx (O:\d+:|C:\d+:|a:\d+:)" "id:1001,phase:2,deny,status:403,msg:'PHP Object Injection Attempt'"
Cloudflare WAF: Create custom rule blocking requests with PHP serialized patterns in POST body

PHP Configuration Hardening

all

Disable dangerous PHP functions and restrict unserialize() usage.

php.ini modification: disable_functions = unserialize
Alternative: Use php.ini setting: unserialize_callback_func = __check_unserialize

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block requests containing PHP serialized objects in POST parameters
  • Restrict access to the vulnerable endpoint using IP whitelisting or authentication requirements

🔍 How to Verify

Check if Vulnerable:

Check if your UNA CMS version is between 9.0.0-RC1 and 14.0.0-RC4 by examining the version file or admin panel. Review BxBaseMenuSetAclLevel.php for unserialize() calls on untrusted POST input.

Check Version:

grep -r "UNA_VERSION" /path/to/una/installation/ or check Admin Panel → System → About

Verify Fix Applied:

Verify that the patched version (14.0.0-RC5+) is installed and that BxBaseMenuSetAclLevel.php no longer passes user-controlled input to unserialize().

📡 Detection & Monitoring

Log Indicators:

  • POST requests to endpoints containing BxBaseMenuSetAclLevel.php with unusual profile_id values
  • Web server error logs showing PHP unserialize errors
  • Unusual PHP process execution from web user context

Network Indicators:

  • HTTP POST requests containing serialized PHP object patterns (O:8:, C:11:, a:3:)
  • Outbound connections from web server to unknown IPs post-exploitation

SIEM Query:

source="web_logs" AND (uri="*BxBaseMenuSetAclLevel.php*" AND method="POST" AND post_data MATCHES "(O:\d+:|C:\d+:|a:\d+:)")

🔗 References

📤 Share & Export