CVE-2026-44837

view_component: System Test Entry Point Path Check Allows Sibling Directory Escape

Published May 26, 2026 CVSS 3.1 · 5.9 Medium EPSS < 1% KEV · Not listed
Description
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-hg3h-g7xc-f7vp view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
History
Type Values Removed Values Added
CPEs cpe:2.3:a:viewcomponent:view_component:*:*:*:*:*:ruby:*:*
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Viewcomponent
Viewcomponent view Component
Vendors & Products Viewcomponent
Viewcomponent view Component
Type Values Removed Values Added
Description 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.
Title view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
Weaknesses CWE-187
References
Metrics cvssV3_1

{'score': 5.9, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
May 28, 2026, 2:04 PM
Reserved
May 7, 2026, 9:21 PM
Status
Analyzed
Published
May 26, 2026, 9:16 PM
Modified
Jul 24, 2026, 11:10 AM