CVE-2024-28121

Description

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.

Risk Information

Base Score
8.8
MODERATE
Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
EPSS Score
Exploitation Probability
1.455

Associated Vulnerability

VulnerabilityOS Platform
Vulnerabilities CVE-2024-28121 are fixed in Ruby-stimulus_reflex 3.5.0Windows
Vulnerabilities CVE-2024-28121 are fixed in Ruby-stimulus_reflex 3.4.2Windows
Vulnerabilities CVE-2024-28121 are fixed in Ruby-stimulus_reflex for Linux 3.5.0Linux
Vulnerabilities CVE-2024-28121 are fixed in Ruby-stimulus_reflex for Linux 3.4.2Linux

Patch Details

No records found

References

https://nvd.nist.gov/vuln/detail/CVE-2023-1234
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-1234