CVE-2026-44837
MediumCVSS 5.9Exploitation Probability (EPSS)
Low risk34th percentile - higher than 34% of all known CVEs
Summary
Vulnerability in the view_component framework (Ruby on Rails) versions 3.0.0 to 4.9.0. The system test entrypoint canonicalizes a user-controlled file path with File.realpath, then checks whether the resolved path starts with the temp directory path. This is not a safe containment check because sibling directories can share the same string prefix. Fixed in version 4.9.0.
Risk Assessment
An attacker can bypass access controls for temporary files, potentially accessing files in other directories, leading to data disclosure or privilege escalation.
Recommendation
Upgrade view_component to version 4.9.0 or later. Avoid relying on path prefix comparisons for security.
Other vulnerabilities in view_component
See all- CVE-2026-54498High
XSS vulnerability in the view_component framework for Ruby on Rails versions 4.0.0-4.12.0. The around_render method can return unsanitized HTML strings that bypass escaping, creating XSS risk, especially when using ViewComponent::Collection.
- CVE-2026-54497Medium
Vulnerability in view_component (Ruby on Rails) versions 4.0.0-4.12.0 causes ViewComponent::Base instances to retain render-scoped objects across render_in calls. Reusing a component across requests, users, or threads can lead to stale data usage, potentially resulting in privilege escalation, link leakage, or request context mixing.
- CVE-2026-44836Medium
view_component is a framework for building reusable, testable, and encapsulated view components in Ruby on Rails. From 3.0.0 to 4.9.0, the preview route derives an example name from the URL and calls it with public_send. The code does not verify that the requested method is one of the preview examples explicitly defined by the preview class. As a result, inherited public methods on ViewComponent::Preview are route-reachable. The most important one is render_with_template, which accepts template: and locals:. Those values can come from request params and are later passed to Rails as render template:. If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. This vulnerability is fixed in 4.9.0.
Original NVD description (English source)
view_component is a framework for building reusable, testable, and encapsulated view components in Ruby on Rails. From 3.0.0 to 4.9.0, the system test entrypoint canonicalizes a user-controlled file path with File.realpath, then checks whether the resolved path starts with the temp directory path. This is not a safe containment check because sibling directories can share the same string prefix. This vulnerability is fixed in 4.9.0.

