Skip to main content
Press slash or control plus K to focus the search. Use the arrow keys to navigate results and press enter to open a threat.
Reconnecting to live updates…

CVE-2026-23885: CWE-95: Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection') in AlchemyCMS alchemy_cms

0
Medium
VulnerabilityCVE-2026-23885cvecve-2026-23885cwe-95
Published: Mon Jan 19 2026 (01/19/2026, 21:09:06 UTC)
Source: CVE Database V5
Vendor/Project: AlchemyCMS
Product: alchemy_cms

Description

Alchemy is an open source content management system engine written in Ruby on Rails. Prior to versions 7.4.12 and 8.0.3, the application uses the Ruby `eval()` function to dynamically execute a string provided by the `resource_handler.engine_name` attribute in `Alchemy::ResourcesHelper#resource_url_proxy`. The vulnerability exists in `app/helpers/alchemy/resources_helper.rb` at line 28. The code explicitly bypasses security linting with `# rubocop:disable Security/Eval`, indicating that the use of a dangerous function was known but not properly mitigated. Since `engine_name` is sourced from module definitions that can be influenced by administrative configurations, it allows an authenticated attacker to escape the Ruby sandbox and execute arbitrary system commands on the host OS. Versions 7.4.12 and 8.0.3 fix the issue by replacing `eval()` with `send()`.

AI-Powered Analysis

AILast updated: 01/27/2026, 20:02:04 UTC

Technical Analysis

CVE-2026-23885 is a medium severity vulnerability classified under CWE-95 (Improper Neutralization of Directives in Dynamically Evaluated Code, or Eval Injection) affecting AlchemyCMS, an open-source Ruby on Rails content management system. The vulnerability exists in versions prior to 7.4.12 and between 8.0.0.a and 8.0.3 due to the use of Ruby's eval() function in the method Alchemy::ResourcesHelper#resource_url_proxy, specifically at line 28 in app/helpers/alchemy/resources_helper.rb. The eval() function is used to dynamically execute code derived from the resource_handler.engine_name attribute, which is influenced by module definitions that can be configured by administrators. Although the code disables RuboCop security linting warnings for eval, no proper sanitization or validation is applied. This allows an authenticated attacker with administrative privileges to escape the Ruby sandbox and execute arbitrary system commands on the host operating system, potentially leading to full system compromise. The vulnerability does not require user interaction but does require high privilege authentication. The issue is resolved in versions 7.4.12 and 8.0.3 by replacing eval() with the safer send() method, which avoids executing arbitrary code strings. There are no known exploits in the wild at the time of publication, but the potential impact is significant given the ability to execute arbitrary commands. The CVSS v3.1 score is 6.4, reflecting medium severity with high impact on confidentiality, integrity, and availability, but limited by the requirement for high privileges and local access.

Potential Impact

For European organizations using affected versions of AlchemyCMS, this vulnerability poses a significant risk of system compromise. An attacker with administrative access can execute arbitrary commands on the server hosting the CMS, potentially leading to data theft, unauthorized data modification, service disruption, or use of the compromised system as a pivot point for further attacks within the network. Given AlchemyCMS’s role in managing web content, exploitation could also result in defacement, injection of malicious content, or disruption of public-facing services. The requirement for authenticated high-privilege access reduces the risk from external attackers but elevates the threat from insider threats or compromised administrative accounts. Organizations in sectors with strict data protection regulations, such as finance, healthcare, and government, face increased compliance risks and potential reputational damage if exploited. The medium severity rating suggests that while the vulnerability is serious, it is not trivially exploitable by unauthenticated or low-privilege users, somewhat limiting its impact scope.

Mitigation Recommendations

European organizations should immediately upgrade AlchemyCMS installations to version 7.4.12 or 8.0.3 or later, where the eval() usage has been replaced with the safer send() method. Until upgrades are applied, restrict administrative access to trusted personnel and enforce strong authentication mechanisms such as multi-factor authentication to reduce the risk of credential compromise. Conduct thorough audits of administrative configurations and module definitions to detect any unauthorized or suspicious changes to resource_handler.engine_name or related attributes. Implement strict role-based access controls to minimize the number of users with high privileges capable of influencing these configurations. Monitor system and application logs for unusual command execution patterns or unexpected behavior indicative of exploitation attempts. Additionally, consider deploying application-level security controls such as Web Application Firewalls (WAFs) with custom rules to detect and block suspicious payloads targeting this vulnerability. Finally, maintain regular backups and incident response plans to quickly recover from potential compromises.

Need more detailed analysis?Upgrade to Pro Console

Technical Details

Data Version
5.2
Assigner Short Name
GitHub_M
Date Reserved
2026-01-16T21:02:02.901Z
Cvss Version
3.1
State
PUBLISHED

Threat ID: 696ea0384623b1157ccf2ce8

Added to database: 1/19/2026, 9:20:56 PM

Last enriched: 1/27/2026, 8:02:04 PM

Last updated: 2/7/2026, 4:09:24 AM

Views: 146

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

Need more coverage?

Upgrade to Pro Console in Console -> Billing for AI refresh and higher limits.

For incident response and remediation, OffSeq services can help resolve threats faster.

Latest Threats