CVE-2024-28121
HIGHDescription
stimulus_reflex is a system to extend the capabilities of both Rails and Stimulus by intercepting user interactions and passing them to Rails over real-time websockets. In affected versions more methods than expected can be called on reflex instances. Being able to call some of them has security implications. To invoke a reflex a websocket message of the following shape is sent: `\"target\":\"[class_name]#[method_name]\",\"args\":[]`. The server will proceed to instantiate `reflex` using the provided `class_name` as long as it extends `StimulusReflex::Reflex`. It then attempts to call `method_name` on the instance with the provided arguments. This is problematic as `reflex.method method_name` can be more methods that those explicitly specified by the developer in their reflex class. A good example is the instance_variable_set method. This vulnerability has been patched in versions 3.4.2 and 3.5.0.rc4. Users unable to upgrade should: see the backing GHSA advisory for mitigation advice.
Is your site exposed to CVE-2024-28121?
Run a free security scan — no signup, results in seconds.
CVSS v3.1 Score
Weakness Type (CWE)
Affected Products
| Vendor | Product |
|---|---|
| stimulusreflex | stimulusrelfex |
| stimulusreflex | stimulusrelfex |
| stimulusreflex | stimulusrelfex |
| stimulusreflex | stimulusrelfex |
| stimulusreflex | stimulusrelfex |
| stimulusreflex | stimulusrelfex |
| stimulusreflex | stimulusrelfex |
| stimulusreflex | stimulusrelfex |
| stimulusreflex | stimulusrelfex |
| stimulusreflex | stimulusrelfex |
| stimulusreflex | stimulusrelfex |
| stimulusreflex | stimulusrelfex |
| stimulusreflex | stimulusrelfex |
| stimulusreflex | stimulusrelfex |
References
Advisories & Patches
Exploits
Other References
Frequently Asked Questions
What is CVE-2024-28121? +
How severe is CVE-2024-28121? +
What products are affected by CVE-2024-28121? +
How do I check if I'm vulnerable to CVE-2024-28121? +
Related Vulnerabilities
Kirby is an open-source content management system. Prior to 4.9.1 and 5.4.1, Kirby did not validate the model attributes that …
An unsafe reflection vulnerability in Kentico Xperience allows an unauthenticated attacker to kill the current process, leading to a Denial-of-Service …
Yamcs is a mission control framework. Prior to 5.12.7, the Nashorn ScriptEngine used to evaluate user-supplied JavaScript algorithm text in …
Arbitrary Class Instantiation via Model Manifest in Apache OpenNLP ExtensionLoader Versions Affected: before 2.5.9, before 3.0.0-M3 Description: The ExtensionLoader.instantiateExtension(Class, String) …
Barracuda Service Center, as implemented in the RMM solution, in versions prior to 2025.1.1, does not correctly verify the name …
Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') vulnerability in Apache IoTDB. The pipe processor reads a …