CVE-2026-44837 json
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
published 6mo ago modified last mo. also EUVD-2026-31971 , GHSA-hg3h-g7xc-f7vp
- cvss
- 5.9
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 35%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- rubygems view_component 4.9.0
- viewcomponent view_component 4.9.0
- ruby-view-component Debian 14 4.12.0-1
debian advisories DEBIAN-CVE-2026-44837
Is CVE-2026-44837 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 5mo ago
Exploit prediction
0.41% chance of exploitation in the next 30 days, higher than 35% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- github.com https://github.com/ViewComponent/view_component/security/advisories/GHSA-hg3h-g7xc-f7vp referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N |
| GitHub | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| rubygems | view_component | >=3.0.0, <4.9.0 |
4.9.0 |
Affected products
- ViewComponent view_component
Classification
References
-
github.com
/ViewComponent/view_component/security/advisories/GHSA-hg3h-g7xc-f7vp
exploit, web, mitigation, vendor-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-44837
advisory
-
github.com
/ViewComponent/view_component
package
-
github.com
/rubysec/ruby-advisory-db/blob/master/gems/view_component/CVE-2026-44837.yml
web
Sources
- CVE List CVE-2026-44837
- GitHub Advisory GHSA-hg3h-g7xc-f7vp
- NVD CVE-2026-44837
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.