CVE-2026-23885: AlchemyCMS alchemy_cms · Eval Injection
Affects AlchemyCMS alchemy_cmsSource CVE Database V5
Not known to be exploited · CVSS 6.4 Medium : upgrade to 8.0.3 or 7.4.12 when convenient.
Data as of 26 Oct 2026, 17:16 UTC
- EPSS
- 0.4% chance of exploitation in 30 days – higher than 40% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 8.0.3, 7.4.12
CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 19 Jan 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade alchemy_cms to 8.0.3 or 7.4.12; alchemy_cms to 7.4.12.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| AlchemyCMSalchemy_cms | Affected
| Fixed in
|
| AlchemyCMSalchemy_cms | Affected
| Fixed in
|
RubyGemsalchemy_cmspkg:gem/alchemy_cmsOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
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.
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()`.
References
- github.com/AlchemyCMS/alchemy_cms/security/advisories/GHSA-2762-657x-v979 (opens in a new tab)
- github.com/AlchemyCMS/alchemy_cms/commit/55d03ec600fd9e07faae1138b923790028917d26 (opens in a new tab)
- github.com/AlchemyCMS/alchemy_cms/commit/563c4ce45bf5813b7823bf3403ca1fc32cb769e7 (opens in a new tab)
- github.com/AlchemyCMS/alchemy_cms/releases/tag/v7.4.12 (opens in a new tab)
- github.com/AlchemyCMS/alchemy_cms/releases/tag/v8.0.3 (opens in a new tab)