CVE-2026-23885

6.4 MEDIUM

📋 TL;DR

This vulnerability allows authenticated attackers to execute arbitrary system commands on AlchemyCMS servers by exploiting unsafe use of Ruby's eval() function. The issue affects AlchemyCMS versions prior to 7.4.12 and 8.0.3, putting content management systems at risk of complete server compromise.

💻 Affected Systems

Products:
  • AlchemyCMS
Versions: All versions prior to 7.4.12 and 8.0.3
Operating Systems: Any OS running Ruby on Rails
Default Config Vulnerable: ⚠️ Yes
Notes: Requires authenticated access, but default installations typically have admin interfaces accessible.

⚠️ 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

Full server compromise allowing attacker to execute arbitrary commands, access sensitive data, install malware, or pivot to other systems.

🟠

Likely Case

Authenticated attacker gains remote code execution, potentially compromising the CMS database, user data, and server configuration.

🟢

If Mitigated

With proper authentication controls and network segmentation, impact limited to CMS application layer only.

🌐 Internet-Facing: HIGH - Web applications are typically internet-facing and vulnerable to authenticated attacks.
🏢 Internal Only: MEDIUM - Internal systems still vulnerable to insider threats or compromised credentials.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access but the vulnerability is straightforward once authenticated.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 7.4.12 or 8.0.3

Vendor Advisory: https://github.com/AlchemyCMS/alchemy_cms/security/advisories/GHSA-2762-657x-v979

Restart Required: Yes

Instructions:

1. Update AlchemyCMS to version 7.4.12 (for 7.x branch) or 8.0.3 (for 8.x branch). 2. Restart the Rails application server. 3. Verify the patch by checking the resources_helper.rb file no longer contains eval() at line 28.

🔧 Temporary Workarounds

Disable resource handler functionality

all

Temporarily disable or restrict access to resource handler features that trigger the vulnerable code path.

# Modify routes.rb to restrict access to resource endpoints
# Add authentication middleware to block resource handler requests

🧯 If You Can't Patch

  • Implement strict access controls to limit authenticated users who can access resource handler functionality.
  • Deploy web application firewall rules to block suspicious eval-related patterns in requests.

🔍 How to Verify

Check if Vulnerable:

Check app/helpers/alchemy/resources_helper.rb line 28 for eval() usage. If present and version is below 7.4.12 or 8.0.3, system is vulnerable.

Check Version:

bundle show alchemy_cms

Verify Fix Applied:

Verify resources_helper.rb line 28 uses send() instead of eval() and confirm AlchemyCMS version is 7.4.12+ or 8.0.3+.

📡 Detection & Monitoring

Log Indicators:

  • Unusual eval-related errors in Rails logs
  • Suspicious resource handler requests from authenticated users
  • Unexpected system command execution in server logs

Network Indicators:

  • HTTP requests containing unusual engine_name parameters
  • POST requests to resource handler endpoints with suspicious payloads

SIEM Query:

source="rails.log" AND ("eval" OR "resource_handler" OR "engine_name") AND status=200

🔗 References

📤 Share & Export