view_component
A framework for building reusable, testable & encapsulated view components in Ruby on Rails.
Activity
- Latest release
- 2w ago
- Total releases
- 179
- Cadence
- ~9 days
- Last 12 months
- 20
Reach
- Downloads
- 61.9M
- Stars
- 3.6k
Details
- License
- MIT
- First release
- Mar 20, 2020
| Version | Released | |
|---|---|---|
4.15.0
minor
| ||
3.27.0
minor
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
3.27.0
minor
Dependencies (39)
+ 31 more
Changelog
Compare changes
|
|
4.14.0
minor
| ||
4.13.0
minor
| ||
3.26.0
minor
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
3.26.0
minor
Dependencies (39)
+ 31 more
Changelog
Compare changes
|
|
3.25.0
minor
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
3.25.0
minor
Dependencies (31)
+ 23 more
Changelog
Compare changes
|
|
4.12.0
minor
| ||
4.11.0
minor
2 CVEs
CVE-2026-54497
GHSA-9h85-g7w3-rh49
Jul 15, 2026
ViewComponent: Reused Component Instances Retain Stale Render Context
6.8
/ 10
Medium
Network
High
Low
None
Unchanged
High
High
None
Reused Component Instances Retain Stale Render ContextSummary
This can cause authorization-aware components to render privileged UI for a lower-privileged user, generate links using a stale Host header, leak slot/helper state, and mix request context under concurrent rendering. SeverityThe PoC demonstrates cross-user authorization impact in a realistic downstream application pattern. If the receiving program accepts downstream cross-user authorization impact as a scope-changing impact for a framework vulnerability, an alternative High score can be assigned: Alternative CVSS: 8.2
Alternative vector: Affected CodeValidated against:
Relevant locations:
Key retained state:
Slot children also inherit the parent original view context:
Collections memoize child component instances:
Root CauseComponent instances are mutable render objects. There is no runtime guard preventing a component instance from being rendered multiple times under different view contexts, and there is no full reset of render-scoped state at the start of each render. Maintainer discussion in prior PRs notes that component instances should not be shared between renders, but the current runtime does not enforce this invariant. Proof of ConceptThe following PoC demonstrates four independent effects:
Run from the repository root:
Observed output:
Authorization-Impact PoCThe following PoC models a realistic downstream application pattern: a shared component registry caches component objects instead of caching component classes, factories, or rendered strings. An admin request primes the cached toolbar component. A later guest request renders the same cached object. The component uses
Observed output:
This confirms a cross-user authorization impact in a realistic pattern: a guest receives privileged UI that a fresh component correctly suppresses. It also confirms stale request and Host context in the generated privileged URL. Exploit ScenarioA downstream app stores component instances in a constant, singleton service, memoized helper, cache object, or shared collection builder to avoid allocation. An attacker or lower-privileged user later triggers rendering of that same object. Potential real-world examples:
In these cases, a component first rendered under an admin or attacker-controlled request can affect later renders for other users. ImpactConfirmed impact classes:
This can chain into privilege escalation if an application relies on UI visibility as an authorization boundary. It can also leak signed links, tenant-specific URLs, admin actions, or user-specific data. Preconditions
Normal per-request usage such as Chaining PotentialThis issue can chain with:
The framework alone does not directly prove account takeover, but downstream applications can reach high impact if stale component output exposes privileged action links or bypasses server-side authorization assumptions. RemediationThe safest fix is to make component and collection instances one-shot renderables. Recommended options:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-54498
GHSA-97jw-64cj-jc58
Jul 15, 2026
ViewComponent: around_render HTML-Safety Bypass
8.7
/ 10
High
Network
Low
Low
Required
Changed
High
High
None
Summary
The issue is especially dangerous in collection rendering because Affected CodeValidated against:
Relevant locations:
Key code paths:
Root CauseNormal inline This creates two different output-safety behaviors:
Collection rendering then amplifies the issue by calling Proof of ConceptRun from the repository root:
Observed output:
The control case confirms that normal Exploit ScenarioA downstream application defines a component that uses Example vulnerable pattern:
If ImpactSuccessful exploitation allows XSS in applications using affected components. Depending on application context, impact can include:
The collection path is particularly risky because it converts the joined raw output to Preconditions
Chaining PotentialThis finding can chain with:
RemediationApply the same HTML-safety enforcement to Possible approaches:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev | ||
4.10.0
minor
2 CVEs
CVE-2026-54497
GHSA-9h85-g7w3-rh49
Jul 15, 2026
ViewComponent: Reused Component Instances Retain Stale Render Context
6.8
/ 10
Medium
Network
High
Low
None
Unchanged
High
High
None
Reused Component Instances Retain Stale Render ContextSummary
This can cause authorization-aware components to render privileged UI for a lower-privileged user, generate links using a stale Host header, leak slot/helper state, and mix request context under concurrent rendering. SeverityThe PoC demonstrates cross-user authorization impact in a realistic downstream application pattern. If the receiving program accepts downstream cross-user authorization impact as a scope-changing impact for a framework vulnerability, an alternative High score can be assigned: Alternative CVSS: 8.2
Alternative vector: Affected CodeValidated against:
Relevant locations:
Key retained state:
Slot children also inherit the parent original view context:
Collections memoize child component instances:
Root CauseComponent instances are mutable render objects. There is no runtime guard preventing a component instance from being rendered multiple times under different view contexts, and there is no full reset of render-scoped state at the start of each render. Maintainer discussion in prior PRs notes that component instances should not be shared between renders, but the current runtime does not enforce this invariant. Proof of ConceptThe following PoC demonstrates four independent effects:
Run from the repository root:
Observed output:
Authorization-Impact PoCThe following PoC models a realistic downstream application pattern: a shared component registry caches component objects instead of caching component classes, factories, or rendered strings. An admin request primes the cached toolbar component. A later guest request renders the same cached object. The component uses
Observed output:
This confirms a cross-user authorization impact in a realistic pattern: a guest receives privileged UI that a fresh component correctly suppresses. It also confirms stale request and Host context in the generated privileged URL. Exploit ScenarioA downstream app stores component instances in a constant, singleton service, memoized helper, cache object, or shared collection builder to avoid allocation. An attacker or lower-privileged user later triggers rendering of that same object. Potential real-world examples:
In these cases, a component first rendered under an admin or attacker-controlled request can affect later renders for other users. ImpactConfirmed impact classes:
This can chain into privilege escalation if an application relies on UI visibility as an authorization boundary. It can also leak signed links, tenant-specific URLs, admin actions, or user-specific data. Preconditions
Normal per-request usage such as Chaining PotentialThis issue can chain with:
The framework alone does not directly prove account takeover, but downstream applications can reach high impact if stale component output exposes privileged action links or bypasses server-side authorization assumptions. RemediationThe safest fix is to make component and collection instances one-shot renderables. Recommended options:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-54498
GHSA-97jw-64cj-jc58
Jul 15, 2026
ViewComponent: around_render HTML-Safety Bypass
8.7
/ 10
High
Network
Low
Low
Required
Changed
High
High
None
Summary
The issue is especially dangerous in collection rendering because Affected CodeValidated against:
Relevant locations:
Key code paths:
Root CauseNormal inline This creates two different output-safety behaviors:
Collection rendering then amplifies the issue by calling Proof of ConceptRun from the repository root:
Observed output:
The control case confirms that normal Exploit ScenarioA downstream application defines a component that uses Example vulnerable pattern:
If ImpactSuccessful exploitation allows XSS in applications using affected components. Depending on application context, impact can include:
The collection path is particularly risky because it converts the joined raw output to Preconditions
Chaining PotentialThis finding can chain with:
RemediationApply the same HTML-safety enforcement to Possible approaches:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev | ||
4.9.0
minor
2 CVEs
CVE-2026-54497
GHSA-9h85-g7w3-rh49
Jul 15, 2026
ViewComponent: Reused Component Instances Retain Stale Render Context
6.8
/ 10
Medium
Network
High
Low
None
Unchanged
High
High
None
Reused Component Instances Retain Stale Render ContextSummary
This can cause authorization-aware components to render privileged UI for a lower-privileged user, generate links using a stale Host header, leak slot/helper state, and mix request context under concurrent rendering. SeverityThe PoC demonstrates cross-user authorization impact in a realistic downstream application pattern. If the receiving program accepts downstream cross-user authorization impact as a scope-changing impact for a framework vulnerability, an alternative High score can be assigned: Alternative CVSS: 8.2
Alternative vector: Affected CodeValidated against:
Relevant locations:
Key retained state:
Slot children also inherit the parent original view context:
Collections memoize child component instances:
Root CauseComponent instances are mutable render objects. There is no runtime guard preventing a component instance from being rendered multiple times under different view contexts, and there is no full reset of render-scoped state at the start of each render. Maintainer discussion in prior PRs notes that component instances should not be shared between renders, but the current runtime does not enforce this invariant. Proof of ConceptThe following PoC demonstrates four independent effects:
Run from the repository root:
Observed output:
Authorization-Impact PoCThe following PoC models a realistic downstream application pattern: a shared component registry caches component objects instead of caching component classes, factories, or rendered strings. An admin request primes the cached toolbar component. A later guest request renders the same cached object. The component uses
Observed output:
This confirms a cross-user authorization impact in a realistic pattern: a guest receives privileged UI that a fresh component correctly suppresses. It also confirms stale request and Host context in the generated privileged URL. Exploit ScenarioA downstream app stores component instances in a constant, singleton service, memoized helper, cache object, or shared collection builder to avoid allocation. An attacker or lower-privileged user later triggers rendering of that same object. Potential real-world examples:
In these cases, a component first rendered under an admin or attacker-controlled request can affect later renders for other users. ImpactConfirmed impact classes:
This can chain into privilege escalation if an application relies on UI visibility as an authorization boundary. It can also leak signed links, tenant-specific URLs, admin actions, or user-specific data. Preconditions
Normal per-request usage such as Chaining PotentialThis issue can chain with:
The framework alone does not directly prove account takeover, but downstream applications can reach high impact if stale component output exposes privileged action links or bypasses server-side authorization assumptions. RemediationThe safest fix is to make component and collection instances one-shot renderables. Recommended options:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-54498
GHSA-97jw-64cj-jc58
Jul 15, 2026
ViewComponent: around_render HTML-Safety Bypass
8.7
/ 10
High
Network
Low
Low
Required
Changed
High
High
None
Summary
The issue is especially dangerous in collection rendering because Affected CodeValidated against:
Relevant locations:
Key code paths:
Root CauseNormal inline This creates two different output-safety behaviors:
Collection rendering then amplifies the issue by calling Proof of ConceptRun from the repository root:
Observed output:
The control case confirms that normal Exploit ScenarioA downstream application defines a component that uses Example vulnerable pattern:
If ImpactSuccessful exploitation allows XSS in applications using affected components. Depending on application context, impact can include:
The collection path is particularly risky because it converts the joined raw output to Preconditions
Chaining PotentialThis finding can chain with:
RemediationApply the same HTML-safety enforcement to Possible approaches:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev | ||
4.8.0
minor
4 CVEs
CVE-2026-54497
GHSA-9h85-g7w3-rh49
Jul 15, 2026
ViewComponent: Reused Component Instances Retain Stale Render Context
6.8
/ 10
Medium
Network
High
Low
None
Unchanged
High
High
None
Reused Component Instances Retain Stale Render ContextSummary
This can cause authorization-aware components to render privileged UI for a lower-privileged user, generate links using a stale Host header, leak slot/helper state, and mix request context under concurrent rendering. SeverityThe PoC demonstrates cross-user authorization impact in a realistic downstream application pattern. If the receiving program accepts downstream cross-user authorization impact as a scope-changing impact for a framework vulnerability, an alternative High score can be assigned: Alternative CVSS: 8.2
Alternative vector: Affected CodeValidated against:
Relevant locations:
Key retained state:
Slot children also inherit the parent original view context:
Collections memoize child component instances:
Root CauseComponent instances are mutable render objects. There is no runtime guard preventing a component instance from being rendered multiple times under different view contexts, and there is no full reset of render-scoped state at the start of each render. Maintainer discussion in prior PRs notes that component instances should not be shared between renders, but the current runtime does not enforce this invariant. Proof of ConceptThe following PoC demonstrates four independent effects:
Run from the repository root:
Observed output:
Authorization-Impact PoCThe following PoC models a realistic downstream application pattern: a shared component registry caches component objects instead of caching component classes, factories, or rendered strings. An admin request primes the cached toolbar component. A later guest request renders the same cached object. The component uses
Observed output:
This confirms a cross-user authorization impact in a realistic pattern: a guest receives privileged UI that a fresh component correctly suppresses. It also confirms stale request and Host context in the generated privileged URL. Exploit ScenarioA downstream app stores component instances in a constant, singleton service, memoized helper, cache object, or shared collection builder to avoid allocation. An attacker or lower-privileged user later triggers rendering of that same object. Potential real-world examples:
In these cases, a component first rendered under an admin or attacker-controlled request can affect later renders for other users. ImpactConfirmed impact classes:
This can chain into privilege escalation if an application relies on UI visibility as an authorization boundary. It can also leak signed links, tenant-specific URLs, admin actions, or user-specific data. Preconditions
Normal per-request usage such as Chaining PotentialThis issue can chain with:
The framework alone does not directly prove account takeover, but downstream applications can reach high impact if stale component output exposes privileged action links or bypasses server-side authorization assumptions. RemediationThe safest fix is to make component and collection instances one-shot renderables. Recommended options:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-54498
GHSA-97jw-64cj-jc58
Jul 15, 2026
ViewComponent: around_render HTML-Safety Bypass
8.7
/ 10
High
Network
Low
Low
Required
Changed
High
High
None
Summary
The issue is especially dangerous in collection rendering because Affected CodeValidated against:
Relevant locations:
Key code paths:
Root CauseNormal inline This creates two different output-safety behaviors:
Collection rendering then amplifies the issue by calling Proof of ConceptRun from the repository root:
Observed output:
The control case confirms that normal Exploit ScenarioA downstream application defines a component that uses Example vulnerable pattern:
If ImpactSuccessful exploitation allows XSS in applications using affected components. Depending on application context, impact can include:
The collection path is particularly risky because it converts the joined raw output to Preconditions
Chaining PotentialThis finding can chain with:
RemediationApply the same HTML-safety enforcement to Possible approaches:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev | ||
4.7.0
minor
4 CVEs
CVE-2026-54497
GHSA-9h85-g7w3-rh49
Jul 15, 2026
ViewComponent: Reused Component Instances Retain Stale Render Context
6.8
/ 10
Medium
Network
High
Low
None
Unchanged
High
High
None
Reused Component Instances Retain Stale Render ContextSummary
This can cause authorization-aware components to render privileged UI for a lower-privileged user, generate links using a stale Host header, leak slot/helper state, and mix request context under concurrent rendering. SeverityThe PoC demonstrates cross-user authorization impact in a realistic downstream application pattern. If the receiving program accepts downstream cross-user authorization impact as a scope-changing impact for a framework vulnerability, an alternative High score can be assigned: Alternative CVSS: 8.2
Alternative vector: Affected CodeValidated against:
Relevant locations:
Key retained state:
Slot children also inherit the parent original view context:
Collections memoize child component instances:
Root CauseComponent instances are mutable render objects. There is no runtime guard preventing a component instance from being rendered multiple times under different view contexts, and there is no full reset of render-scoped state at the start of each render. Maintainer discussion in prior PRs notes that component instances should not be shared between renders, but the current runtime does not enforce this invariant. Proof of ConceptThe following PoC demonstrates four independent effects:
Run from the repository root:
Observed output:
Authorization-Impact PoCThe following PoC models a realistic downstream application pattern: a shared component registry caches component objects instead of caching component classes, factories, or rendered strings. An admin request primes the cached toolbar component. A later guest request renders the same cached object. The component uses
Observed output:
This confirms a cross-user authorization impact in a realistic pattern: a guest receives privileged UI that a fresh component correctly suppresses. It also confirms stale request and Host context in the generated privileged URL. Exploit ScenarioA downstream app stores component instances in a constant, singleton service, memoized helper, cache object, or shared collection builder to avoid allocation. An attacker or lower-privileged user later triggers rendering of that same object. Potential real-world examples:
In these cases, a component first rendered under an admin or attacker-controlled request can affect later renders for other users. ImpactConfirmed impact classes:
This can chain into privilege escalation if an application relies on UI visibility as an authorization boundary. It can also leak signed links, tenant-specific URLs, admin actions, or user-specific data. Preconditions
Normal per-request usage such as Chaining PotentialThis issue can chain with:
The framework alone does not directly prove account takeover, but downstream applications can reach high impact if stale component output exposes privileged action links or bypasses server-side authorization assumptions. RemediationThe safest fix is to make component and collection instances one-shot renderables. Recommended options:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-54498
GHSA-97jw-64cj-jc58
Jul 15, 2026
ViewComponent: around_render HTML-Safety Bypass
8.7
/ 10
High
Network
Low
Low
Required
Changed
High
High
None
Summary
The issue is especially dangerous in collection rendering because Affected CodeValidated against:
Relevant locations:
Key code paths:
Root CauseNormal inline This creates two different output-safety behaviors:
Collection rendering then amplifies the issue by calling Proof of ConceptRun from the repository root:
Observed output:
The control case confirms that normal Exploit ScenarioA downstream application defines a component that uses Example vulnerable pattern:
If ImpactSuccessful exploitation allows XSS in applications using affected components. Depending on application context, impact can include:
The collection path is particularly risky because it converts the joined raw output to Preconditions
Chaining PotentialThis finding can chain with:
RemediationApply the same HTML-safety enforcement to Possible approaches:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev | ||
4.6.0
minor
4 CVEs
CVE-2026-54497
GHSA-9h85-g7w3-rh49
Jul 15, 2026
ViewComponent: Reused Component Instances Retain Stale Render Context
6.8
/ 10
Medium
Network
High
Low
None
Unchanged
High
High
None
Reused Component Instances Retain Stale Render ContextSummary
This can cause authorization-aware components to render privileged UI for a lower-privileged user, generate links using a stale Host header, leak slot/helper state, and mix request context under concurrent rendering. SeverityThe PoC demonstrates cross-user authorization impact in a realistic downstream application pattern. If the receiving program accepts downstream cross-user authorization impact as a scope-changing impact for a framework vulnerability, an alternative High score can be assigned: Alternative CVSS: 8.2
Alternative vector: Affected CodeValidated against:
Relevant locations:
Key retained state:
Slot children also inherit the parent original view context:
Collections memoize child component instances:
Root CauseComponent instances are mutable render objects. There is no runtime guard preventing a component instance from being rendered multiple times under different view contexts, and there is no full reset of render-scoped state at the start of each render. Maintainer discussion in prior PRs notes that component instances should not be shared between renders, but the current runtime does not enforce this invariant. Proof of ConceptThe following PoC demonstrates four independent effects:
Run from the repository root:
Observed output:
Authorization-Impact PoCThe following PoC models a realistic downstream application pattern: a shared component registry caches component objects instead of caching component classes, factories, or rendered strings. An admin request primes the cached toolbar component. A later guest request renders the same cached object. The component uses
Observed output:
This confirms a cross-user authorization impact in a realistic pattern: a guest receives privileged UI that a fresh component correctly suppresses. It also confirms stale request and Host context in the generated privileged URL. Exploit ScenarioA downstream app stores component instances in a constant, singleton service, memoized helper, cache object, or shared collection builder to avoid allocation. An attacker or lower-privileged user later triggers rendering of that same object. Potential real-world examples:
In these cases, a component first rendered under an admin or attacker-controlled request can affect later renders for other users. ImpactConfirmed impact classes:
This can chain into privilege escalation if an application relies on UI visibility as an authorization boundary. It can also leak signed links, tenant-specific URLs, admin actions, or user-specific data. Preconditions
Normal per-request usage such as Chaining PotentialThis issue can chain with:
The framework alone does not directly prove account takeover, but downstream applications can reach high impact if stale component output exposes privileged action links or bypasses server-side authorization assumptions. RemediationThe safest fix is to make component and collection instances one-shot renderables. Recommended options:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-54498
GHSA-97jw-64cj-jc58
Jul 15, 2026
ViewComponent: around_render HTML-Safety Bypass
8.7
/ 10
High
Network
Low
Low
Required
Changed
High
High
None
Summary
The issue is especially dangerous in collection rendering because Affected CodeValidated against:
Relevant locations:
Key code paths:
Root CauseNormal inline This creates two different output-safety behaviors:
Collection rendering then amplifies the issue by calling Proof of ConceptRun from the repository root:
Observed output:
The control case confirms that normal Exploit ScenarioA downstream application defines a component that uses Example vulnerable pattern:
If ImpactSuccessful exploitation allows XSS in applications using affected components. Depending on application context, impact can include:
The collection path is particularly risky because it converts the joined raw output to Preconditions
Chaining PotentialThis finding can chain with:
RemediationApply the same HTML-safety enforcement to Possible approaches:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev | ||
4.5.0
minor
4 CVEs
CVE-2026-54497
GHSA-9h85-g7w3-rh49
Jul 15, 2026
ViewComponent: Reused Component Instances Retain Stale Render Context
6.8
/ 10
Medium
Network
High
Low
None
Unchanged
High
High
None
Reused Component Instances Retain Stale Render ContextSummary
This can cause authorization-aware components to render privileged UI for a lower-privileged user, generate links using a stale Host header, leak slot/helper state, and mix request context under concurrent rendering. SeverityThe PoC demonstrates cross-user authorization impact in a realistic downstream application pattern. If the receiving program accepts downstream cross-user authorization impact as a scope-changing impact for a framework vulnerability, an alternative High score can be assigned: Alternative CVSS: 8.2
Alternative vector: Affected CodeValidated against:
Relevant locations:
Key retained state:
Slot children also inherit the parent original view context:
Collections memoize child component instances:
Root CauseComponent instances are mutable render objects. There is no runtime guard preventing a component instance from being rendered multiple times under different view contexts, and there is no full reset of render-scoped state at the start of each render. Maintainer discussion in prior PRs notes that component instances should not be shared between renders, but the current runtime does not enforce this invariant. Proof of ConceptThe following PoC demonstrates four independent effects:
Run from the repository root:
Observed output:
Authorization-Impact PoCThe following PoC models a realistic downstream application pattern: a shared component registry caches component objects instead of caching component classes, factories, or rendered strings. An admin request primes the cached toolbar component. A later guest request renders the same cached object. The component uses
Observed output:
This confirms a cross-user authorization impact in a realistic pattern: a guest receives privileged UI that a fresh component correctly suppresses. It also confirms stale request and Host context in the generated privileged URL. Exploit ScenarioA downstream app stores component instances in a constant, singleton service, memoized helper, cache object, or shared collection builder to avoid allocation. An attacker or lower-privileged user later triggers rendering of that same object. Potential real-world examples:
In these cases, a component first rendered under an admin or attacker-controlled request can affect later renders for other users. ImpactConfirmed impact classes:
This can chain into privilege escalation if an application relies on UI visibility as an authorization boundary. It can also leak signed links, tenant-specific URLs, admin actions, or user-specific data. Preconditions
Normal per-request usage such as Chaining PotentialThis issue can chain with:
The framework alone does not directly prove account takeover, but downstream applications can reach high impact if stale component output exposes privileged action links or bypasses server-side authorization assumptions. RemediationThe safest fix is to make component and collection instances one-shot renderables. Recommended options:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-54498
GHSA-97jw-64cj-jc58
Jul 15, 2026
ViewComponent: around_render HTML-Safety Bypass
8.7
/ 10
High
Network
Low
Low
Required
Changed
High
High
None
Summary
The issue is especially dangerous in collection rendering because Affected CodeValidated against:
Relevant locations:
Key code paths:
Root CauseNormal inline This creates two different output-safety behaviors:
Collection rendering then amplifies the issue by calling Proof of ConceptRun from the repository root:
Observed output:
The control case confirms that normal Exploit ScenarioA downstream application defines a component that uses Example vulnerable pattern:
If ImpactSuccessful exploitation allows XSS in applications using affected components. Depending on application context, impact can include:
The collection path is particularly risky because it converts the joined raw output to Preconditions
Chaining PotentialThis finding can chain with:
RemediationApply the same HTML-safety enforcement to Possible approaches:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev | ||
4.4.0
minor
4 CVEs
CVE-2026-54497
GHSA-9h85-g7w3-rh49
Jul 15, 2026
ViewComponent: Reused Component Instances Retain Stale Render Context
6.8
/ 10
Medium
Network
High
Low
None
Unchanged
High
High
None
Reused Component Instances Retain Stale Render ContextSummary
This can cause authorization-aware components to render privileged UI for a lower-privileged user, generate links using a stale Host header, leak slot/helper state, and mix request context under concurrent rendering. SeverityThe PoC demonstrates cross-user authorization impact in a realistic downstream application pattern. If the receiving program accepts downstream cross-user authorization impact as a scope-changing impact for a framework vulnerability, an alternative High score can be assigned: Alternative CVSS: 8.2
Alternative vector: Affected CodeValidated against:
Relevant locations:
Key retained state:
Slot children also inherit the parent original view context:
Collections memoize child component instances:
Root CauseComponent instances are mutable render objects. There is no runtime guard preventing a component instance from being rendered multiple times under different view contexts, and there is no full reset of render-scoped state at the start of each render. Maintainer discussion in prior PRs notes that component instances should not be shared between renders, but the current runtime does not enforce this invariant. Proof of ConceptThe following PoC demonstrates four independent effects:
Run from the repository root:
Observed output:
Authorization-Impact PoCThe following PoC models a realistic downstream application pattern: a shared component registry caches component objects instead of caching component classes, factories, or rendered strings. An admin request primes the cached toolbar component. A later guest request renders the same cached object. The component uses
Observed output:
This confirms a cross-user authorization impact in a realistic pattern: a guest receives privileged UI that a fresh component correctly suppresses. It also confirms stale request and Host context in the generated privileged URL. Exploit ScenarioA downstream app stores component instances in a constant, singleton service, memoized helper, cache object, or shared collection builder to avoid allocation. An attacker or lower-privileged user later triggers rendering of that same object. Potential real-world examples:
In these cases, a component first rendered under an admin or attacker-controlled request can affect later renders for other users. ImpactConfirmed impact classes:
This can chain into privilege escalation if an application relies on UI visibility as an authorization boundary. It can also leak signed links, tenant-specific URLs, admin actions, or user-specific data. Preconditions
Normal per-request usage such as Chaining PotentialThis issue can chain with:
The framework alone does not directly prove account takeover, but downstream applications can reach high impact if stale component output exposes privileged action links or bypasses server-side authorization assumptions. RemediationThe safest fix is to make component and collection instances one-shot renderables. Recommended options:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-54498
GHSA-97jw-64cj-jc58
Jul 15, 2026
ViewComponent: around_render HTML-Safety Bypass
8.7
/ 10
High
Network
Low
Low
Required
Changed
High
High
None
Summary
The issue is especially dangerous in collection rendering because Affected CodeValidated against:
Relevant locations:
Key code paths:
Root CauseNormal inline This creates two different output-safety behaviors:
Collection rendering then amplifies the issue by calling Proof of ConceptRun from the repository root:
Observed output:
The control case confirms that normal Exploit ScenarioA downstream application defines a component that uses Example vulnerable pattern:
If ImpactSuccessful exploitation allows XSS in applications using affected components. Depending on application context, impact can include:
The collection path is particularly risky because it converts the joined raw output to Preconditions
Chaining PotentialThis finding can chain with:
RemediationApply the same HTML-safety enforcement to Possible approaches:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev | ||
4.3.0
minor
4 CVEs
CVE-2026-54497
GHSA-9h85-g7w3-rh49
Jul 15, 2026
ViewComponent: Reused Component Instances Retain Stale Render Context
6.8
/ 10
Medium
Network
High
Low
None
Unchanged
High
High
None
Reused Component Instances Retain Stale Render ContextSummary
This can cause authorization-aware components to render privileged UI for a lower-privileged user, generate links using a stale Host header, leak slot/helper state, and mix request context under concurrent rendering. SeverityThe PoC demonstrates cross-user authorization impact in a realistic downstream application pattern. If the receiving program accepts downstream cross-user authorization impact as a scope-changing impact for a framework vulnerability, an alternative High score can be assigned: Alternative CVSS: 8.2
Alternative vector: Affected CodeValidated against:
Relevant locations:
Key retained state:
Slot children also inherit the parent original view context:
Collections memoize child component instances:
Root CauseComponent instances are mutable render objects. There is no runtime guard preventing a component instance from being rendered multiple times under different view contexts, and there is no full reset of render-scoped state at the start of each render. Maintainer discussion in prior PRs notes that component instances should not be shared between renders, but the current runtime does not enforce this invariant. Proof of ConceptThe following PoC demonstrates four independent effects:
Run from the repository root:
Observed output:
Authorization-Impact PoCThe following PoC models a realistic downstream application pattern: a shared component registry caches component objects instead of caching component classes, factories, or rendered strings. An admin request primes the cached toolbar component. A later guest request renders the same cached object. The component uses
Observed output:
This confirms a cross-user authorization impact in a realistic pattern: a guest receives privileged UI that a fresh component correctly suppresses. It also confirms stale request and Host context in the generated privileged URL. Exploit ScenarioA downstream app stores component instances in a constant, singleton service, memoized helper, cache object, or shared collection builder to avoid allocation. An attacker or lower-privileged user later triggers rendering of that same object. Potential real-world examples:
In these cases, a component first rendered under an admin or attacker-controlled request can affect later renders for other users. ImpactConfirmed impact classes:
This can chain into privilege escalation if an application relies on UI visibility as an authorization boundary. It can also leak signed links, tenant-specific URLs, admin actions, or user-specific data. Preconditions
Normal per-request usage such as Chaining PotentialThis issue can chain with:
The framework alone does not directly prove account takeover, but downstream applications can reach high impact if stale component output exposes privileged action links or bypasses server-side authorization assumptions. RemediationThe safest fix is to make component and collection instances one-shot renderables. Recommended options:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-54498
GHSA-97jw-64cj-jc58
Jul 15, 2026
ViewComponent: around_render HTML-Safety Bypass
8.7
/ 10
High
Network
Low
Low
Required
Changed
High
High
None
Summary
The issue is especially dangerous in collection rendering because Affected CodeValidated against:
Relevant locations:
Key code paths:
Root CauseNormal inline This creates two different output-safety behaviors:
Collection rendering then amplifies the issue by calling Proof of ConceptRun from the repository root:
Observed output:
The control case confirms that normal Exploit ScenarioA downstream application defines a component that uses Example vulnerable pattern:
If ImpactSuccessful exploitation allows XSS in applications using affected components. Depending on application context, impact can include:
The collection path is particularly risky because it converts the joined raw output to Preconditions
Chaining PotentialThis finding can chain with:
RemediationApply the same HTML-safety enforcement to Possible approaches:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev | ||
4.2.0
minor
4 CVEs
CVE-2026-54497
GHSA-9h85-g7w3-rh49
Jul 15, 2026
ViewComponent: Reused Component Instances Retain Stale Render Context
6.8
/ 10
Medium
Network
High
Low
None
Unchanged
High
High
None
Reused Component Instances Retain Stale Render ContextSummary
This can cause authorization-aware components to render privileged UI for a lower-privileged user, generate links using a stale Host header, leak slot/helper state, and mix request context under concurrent rendering. SeverityThe PoC demonstrates cross-user authorization impact in a realistic downstream application pattern. If the receiving program accepts downstream cross-user authorization impact as a scope-changing impact for a framework vulnerability, an alternative High score can be assigned: Alternative CVSS: 8.2
Alternative vector: Affected CodeValidated against:
Relevant locations:
Key retained state:
Slot children also inherit the parent original view context:
Collections memoize child component instances:
Root CauseComponent instances are mutable render objects. There is no runtime guard preventing a component instance from being rendered multiple times under different view contexts, and there is no full reset of render-scoped state at the start of each render. Maintainer discussion in prior PRs notes that component instances should not be shared between renders, but the current runtime does not enforce this invariant. Proof of ConceptThe following PoC demonstrates four independent effects:
Run from the repository root:
Observed output:
Authorization-Impact PoCThe following PoC models a realistic downstream application pattern: a shared component registry caches component objects instead of caching component classes, factories, or rendered strings. An admin request primes the cached toolbar component. A later guest request renders the same cached object. The component uses
Observed output:
This confirms a cross-user authorization impact in a realistic pattern: a guest receives privileged UI that a fresh component correctly suppresses. It also confirms stale request and Host context in the generated privileged URL. Exploit ScenarioA downstream app stores component instances in a constant, singleton service, memoized helper, cache object, or shared collection builder to avoid allocation. An attacker or lower-privileged user later triggers rendering of that same object. Potential real-world examples:
In these cases, a component first rendered under an admin or attacker-controlled request can affect later renders for other users. ImpactConfirmed impact classes:
This can chain into privilege escalation if an application relies on UI visibility as an authorization boundary. It can also leak signed links, tenant-specific URLs, admin actions, or user-specific data. Preconditions
Normal per-request usage such as Chaining PotentialThis issue can chain with:
The framework alone does not directly prove account takeover, but downstream applications can reach high impact if stale component output exposes privileged action links or bypasses server-side authorization assumptions. RemediationThe safest fix is to make component and collection instances one-shot renderables. Recommended options:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-54498
GHSA-97jw-64cj-jc58
Jul 15, 2026
ViewComponent: around_render HTML-Safety Bypass
8.7
/ 10
High
Network
Low
Low
Required
Changed
High
High
None
Summary
The issue is especially dangerous in collection rendering because Affected CodeValidated against:
Relevant locations:
Key code paths:
Root CauseNormal inline This creates two different output-safety behaviors:
Collection rendering then amplifies the issue by calling Proof of ConceptRun from the repository root:
Observed output:
The control case confirms that normal Exploit ScenarioA downstream application defines a component that uses Example vulnerable pattern:
If ImpactSuccessful exploitation allows XSS in applications using affected components. Depending on application context, impact can include:
The collection path is particularly risky because it converts the joined raw output to Preconditions
Chaining PotentialThis finding can chain with:
RemediationApply the same HTML-safety enforcement to Possible approaches:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev | ||
3.24.0
minor
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
3.24.0
minor
Dependencies (39)
+ 31 more
Changelog
Compare changes
|
|
4.1.1
patch
4 CVEs
CVE-2026-54497
GHSA-9h85-g7w3-rh49
Jul 15, 2026
ViewComponent: Reused Component Instances Retain Stale Render Context
6.8
/ 10
Medium
Network
High
Low
None
Unchanged
High
High
None
Reused Component Instances Retain Stale Render ContextSummary
This can cause authorization-aware components to render privileged UI for a lower-privileged user, generate links using a stale Host header, leak slot/helper state, and mix request context under concurrent rendering. SeverityThe PoC demonstrates cross-user authorization impact in a realistic downstream application pattern. If the receiving program accepts downstream cross-user authorization impact as a scope-changing impact for a framework vulnerability, an alternative High score can be assigned: Alternative CVSS: 8.2
Alternative vector: Affected CodeValidated against:
Relevant locations:
Key retained state:
Slot children also inherit the parent original view context:
Collections memoize child component instances:
Root CauseComponent instances are mutable render objects. There is no runtime guard preventing a component instance from being rendered multiple times under different view contexts, and there is no full reset of render-scoped state at the start of each render. Maintainer discussion in prior PRs notes that component instances should not be shared between renders, but the current runtime does not enforce this invariant. Proof of ConceptThe following PoC demonstrates four independent effects:
Run from the repository root:
Observed output:
Authorization-Impact PoCThe following PoC models a realistic downstream application pattern: a shared component registry caches component objects instead of caching component classes, factories, or rendered strings. An admin request primes the cached toolbar component. A later guest request renders the same cached object. The component uses
Observed output:
This confirms a cross-user authorization impact in a realistic pattern: a guest receives privileged UI that a fresh component correctly suppresses. It also confirms stale request and Host context in the generated privileged URL. Exploit ScenarioA downstream app stores component instances in a constant, singleton service, memoized helper, cache object, or shared collection builder to avoid allocation. An attacker or lower-privileged user later triggers rendering of that same object. Potential real-world examples:
In these cases, a component first rendered under an admin or attacker-controlled request can affect later renders for other users. ImpactConfirmed impact classes:
This can chain into privilege escalation if an application relies on UI visibility as an authorization boundary. It can also leak signed links, tenant-specific URLs, admin actions, or user-specific data. Preconditions
Normal per-request usage such as Chaining PotentialThis issue can chain with:
The framework alone does not directly prove account takeover, but downstream applications can reach high impact if stale component output exposes privileged action links or bypasses server-side authorization assumptions. RemediationThe safest fix is to make component and collection instances one-shot renderables. Recommended options:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-54498
GHSA-97jw-64cj-jc58
Jul 15, 2026
ViewComponent: around_render HTML-Safety Bypass
8.7
/ 10
High
Network
Low
Low
Required
Changed
High
High
None
Summary
The issue is especially dangerous in collection rendering because Affected CodeValidated against:
Relevant locations:
Key code paths:
Root CauseNormal inline This creates two different output-safety behaviors:
Collection rendering then amplifies the issue by calling Proof of ConceptRun from the repository root:
Observed output:
The control case confirms that normal Exploit ScenarioA downstream application defines a component that uses Example vulnerable pattern:
If ImpactSuccessful exploitation allows XSS in applications using affected components. Depending on application context, impact can include:
The collection path is particularly risky because it converts the joined raw output to Preconditions
Chaining PotentialThis finding can chain with:
RemediationApply the same HTML-safety enforcement to Possible approaches:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev | ||
4.1.0
minor
4 CVEs
CVE-2026-54497
GHSA-9h85-g7w3-rh49
Jul 15, 2026
ViewComponent: Reused Component Instances Retain Stale Render Context
6.8
/ 10
Medium
Network
High
Low
None
Unchanged
High
High
None
Reused Component Instances Retain Stale Render ContextSummary
This can cause authorization-aware components to render privileged UI for a lower-privileged user, generate links using a stale Host header, leak slot/helper state, and mix request context under concurrent rendering. SeverityThe PoC demonstrates cross-user authorization impact in a realistic downstream application pattern. If the receiving program accepts downstream cross-user authorization impact as a scope-changing impact for a framework vulnerability, an alternative High score can be assigned: Alternative CVSS: 8.2
Alternative vector: Affected CodeValidated against:
Relevant locations:
Key retained state:
Slot children also inherit the parent original view context:
Collections memoize child component instances:
Root CauseComponent instances are mutable render objects. There is no runtime guard preventing a component instance from being rendered multiple times under different view contexts, and there is no full reset of render-scoped state at the start of each render. Maintainer discussion in prior PRs notes that component instances should not be shared between renders, but the current runtime does not enforce this invariant. Proof of ConceptThe following PoC demonstrates four independent effects:
Run from the repository root:
Observed output:
Authorization-Impact PoCThe following PoC models a realistic downstream application pattern: a shared component registry caches component objects instead of caching component classes, factories, or rendered strings. An admin request primes the cached toolbar component. A later guest request renders the same cached object. The component uses
Observed output:
This confirms a cross-user authorization impact in a realistic pattern: a guest receives privileged UI that a fresh component correctly suppresses. It also confirms stale request and Host context in the generated privileged URL. Exploit ScenarioA downstream app stores component instances in a constant, singleton service, memoized helper, cache object, or shared collection builder to avoid allocation. An attacker or lower-privileged user later triggers rendering of that same object. Potential real-world examples:
In these cases, a component first rendered under an admin or attacker-controlled request can affect later renders for other users. ImpactConfirmed impact classes:
This can chain into privilege escalation if an application relies on UI visibility as an authorization boundary. It can also leak signed links, tenant-specific URLs, admin actions, or user-specific data. Preconditions
Normal per-request usage such as Chaining PotentialThis issue can chain with:
The framework alone does not directly prove account takeover, but downstream applications can reach high impact if stale component output exposes privileged action links or bypasses server-side authorization assumptions. RemediationThe safest fix is to make component and collection instances one-shot renderables. Recommended options:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-54498
GHSA-97jw-64cj-jc58
Jul 15, 2026
ViewComponent: around_render HTML-Safety Bypass
8.7
/ 10
High
Network
Low
Low
Required
Changed
High
High
None
Summary
The issue is especially dangerous in collection rendering because Affected CodeValidated against:
Relevant locations:
Key code paths:
Root CauseNormal inline This creates two different output-safety behaviors:
Collection rendering then amplifies the issue by calling Proof of ConceptRun from the repository root:
Observed output:
The control case confirms that normal Exploit ScenarioA downstream application defines a component that uses Example vulnerable pattern:
If ImpactSuccessful exploitation allows XSS in applications using affected components. Depending on application context, impact can include:
The collection path is particularly risky because it converts the joined raw output to Preconditions
Chaining PotentialThis finding can chain with:
RemediationApply the same HTML-safety enforcement to Possible approaches:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev | ||
4.0.2
patch
4 CVEs
CVE-2026-54497
GHSA-9h85-g7w3-rh49
Jul 15, 2026
ViewComponent: Reused Component Instances Retain Stale Render Context
6.8
/ 10
Medium
Network
High
Low
None
Unchanged
High
High
None
Reused Component Instances Retain Stale Render ContextSummary
This can cause authorization-aware components to render privileged UI for a lower-privileged user, generate links using a stale Host header, leak slot/helper state, and mix request context under concurrent rendering. SeverityThe PoC demonstrates cross-user authorization impact in a realistic downstream application pattern. If the receiving program accepts downstream cross-user authorization impact as a scope-changing impact for a framework vulnerability, an alternative High score can be assigned: Alternative CVSS: 8.2
Alternative vector: Affected CodeValidated against:
Relevant locations:
Key retained state:
Slot children also inherit the parent original view context:
Collections memoize child component instances:
Root CauseComponent instances are mutable render objects. There is no runtime guard preventing a component instance from being rendered multiple times under different view contexts, and there is no full reset of render-scoped state at the start of each render. Maintainer discussion in prior PRs notes that component instances should not be shared between renders, but the current runtime does not enforce this invariant. Proof of ConceptThe following PoC demonstrates four independent effects:
Run from the repository root:
Observed output:
Authorization-Impact PoCThe following PoC models a realistic downstream application pattern: a shared component registry caches component objects instead of caching component classes, factories, or rendered strings. An admin request primes the cached toolbar component. A later guest request renders the same cached object. The component uses
Observed output:
This confirms a cross-user authorization impact in a realistic pattern: a guest receives privileged UI that a fresh component correctly suppresses. It also confirms stale request and Host context in the generated privileged URL. Exploit ScenarioA downstream app stores component instances in a constant, singleton service, memoized helper, cache object, or shared collection builder to avoid allocation. An attacker or lower-privileged user later triggers rendering of that same object. Potential real-world examples:
In these cases, a component first rendered under an admin or attacker-controlled request can affect later renders for other users. ImpactConfirmed impact classes:
This can chain into privilege escalation if an application relies on UI visibility as an authorization boundary. It can also leak signed links, tenant-specific URLs, admin actions, or user-specific data. Preconditions
Normal per-request usage such as Chaining PotentialThis issue can chain with:
The framework alone does not directly prove account takeover, but downstream applications can reach high impact if stale component output exposes privileged action links or bypasses server-side authorization assumptions. RemediationThe safest fix is to make component and collection instances one-shot renderables. Recommended options:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-54498
GHSA-97jw-64cj-jc58
Jul 15, 2026
ViewComponent: around_render HTML-Safety Bypass
8.7
/ 10
High
Network
Low
Low
Required
Changed
High
High
None
Summary
The issue is especially dangerous in collection rendering because Affected CodeValidated against:
Relevant locations:
Key code paths:
Root CauseNormal inline This creates two different output-safety behaviors:
Collection rendering then amplifies the issue by calling Proof of ConceptRun from the repository root:
Observed output:
The control case confirms that normal Exploit ScenarioA downstream application defines a component that uses Example vulnerable pattern:
If ImpactSuccessful exploitation allows XSS in applications using affected components. Depending on application context, impact can include:
The collection path is particularly risky because it converts the joined raw output to Preconditions
Chaining PotentialThis finding can chain with:
RemediationApply the same HTML-safety enforcement to Possible approaches:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev | ||
4.0.1
patch
4 CVEs
CVE-2026-54497
GHSA-9h85-g7w3-rh49
Jul 15, 2026
ViewComponent: Reused Component Instances Retain Stale Render Context
6.8
/ 10
Medium
Network
High
Low
None
Unchanged
High
High
None
Reused Component Instances Retain Stale Render ContextSummary
This can cause authorization-aware components to render privileged UI for a lower-privileged user, generate links using a stale Host header, leak slot/helper state, and mix request context under concurrent rendering. SeverityThe PoC demonstrates cross-user authorization impact in a realistic downstream application pattern. If the receiving program accepts downstream cross-user authorization impact as a scope-changing impact for a framework vulnerability, an alternative High score can be assigned: Alternative CVSS: 8.2
Alternative vector: Affected CodeValidated against:
Relevant locations:
Key retained state:
Slot children also inherit the parent original view context:
Collections memoize child component instances:
Root CauseComponent instances are mutable render objects. There is no runtime guard preventing a component instance from being rendered multiple times under different view contexts, and there is no full reset of render-scoped state at the start of each render. Maintainer discussion in prior PRs notes that component instances should not be shared between renders, but the current runtime does not enforce this invariant. Proof of ConceptThe following PoC demonstrates four independent effects:
Run from the repository root:
Observed output:
Authorization-Impact PoCThe following PoC models a realistic downstream application pattern: a shared component registry caches component objects instead of caching component classes, factories, or rendered strings. An admin request primes the cached toolbar component. A later guest request renders the same cached object. The component uses
Observed output:
This confirms a cross-user authorization impact in a realistic pattern: a guest receives privileged UI that a fresh component correctly suppresses. It also confirms stale request and Host context in the generated privileged URL. Exploit ScenarioA downstream app stores component instances in a constant, singleton service, memoized helper, cache object, or shared collection builder to avoid allocation. An attacker or lower-privileged user later triggers rendering of that same object. Potential real-world examples:
In these cases, a component first rendered under an admin or attacker-controlled request can affect later renders for other users. ImpactConfirmed impact classes:
This can chain into privilege escalation if an application relies on UI visibility as an authorization boundary. It can also leak signed links, tenant-specific URLs, admin actions, or user-specific data. Preconditions
Normal per-request usage such as Chaining PotentialThis issue can chain with:
The framework alone does not directly prove account takeover, but downstream applications can reach high impact if stale component output exposes privileged action links or bypasses server-side authorization assumptions. RemediationThe safest fix is to make component and collection instances one-shot renderables. Recommended options:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-54498
GHSA-97jw-64cj-jc58
Jul 15, 2026
ViewComponent: around_render HTML-Safety Bypass
8.7
/ 10
High
Network
Low
Low
Required
Changed
High
High
None
Summary
The issue is especially dangerous in collection rendering because Affected CodeValidated against:
Relevant locations:
Key code paths:
Root CauseNormal inline This creates two different output-safety behaviors:
Collection rendering then amplifies the issue by calling Proof of ConceptRun from the repository root:
Observed output:
The control case confirms that normal Exploit ScenarioA downstream application defines a component that uses Example vulnerable pattern:
If ImpactSuccessful exploitation allows XSS in applications using affected components. Depending on application context, impact can include:
The collection path is particularly risky because it converts the joined raw output to Preconditions
Chaining PotentialThis finding can chain with:
RemediationApply the same HTML-safety enforcement to Possible approaches:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev | ||
4.0.0
major
4 CVEs
CVE-2026-54497
GHSA-9h85-g7w3-rh49
Jul 15, 2026
ViewComponent: Reused Component Instances Retain Stale Render Context
6.8
/ 10
Medium
Network
High
Low
None
Unchanged
High
High
None
Reused Component Instances Retain Stale Render ContextSummary
This can cause authorization-aware components to render privileged UI for a lower-privileged user, generate links using a stale Host header, leak slot/helper state, and mix request context under concurrent rendering. SeverityThe PoC demonstrates cross-user authorization impact in a realistic downstream application pattern. If the receiving program accepts downstream cross-user authorization impact as a scope-changing impact for a framework vulnerability, an alternative High score can be assigned: Alternative CVSS: 8.2
Alternative vector: Affected CodeValidated against:
Relevant locations:
Key retained state:
Slot children also inherit the parent original view context:
Collections memoize child component instances:
Root CauseComponent instances are mutable render objects. There is no runtime guard preventing a component instance from being rendered multiple times under different view contexts, and there is no full reset of render-scoped state at the start of each render. Maintainer discussion in prior PRs notes that component instances should not be shared between renders, but the current runtime does not enforce this invariant. Proof of ConceptThe following PoC demonstrates four independent effects:
Run from the repository root:
Observed output:
Authorization-Impact PoCThe following PoC models a realistic downstream application pattern: a shared component registry caches component objects instead of caching component classes, factories, or rendered strings. An admin request primes the cached toolbar component. A later guest request renders the same cached object. The component uses
Observed output:
This confirms a cross-user authorization impact in a realistic pattern: a guest receives privileged UI that a fresh component correctly suppresses. It also confirms stale request and Host context in the generated privileged URL. Exploit ScenarioA downstream app stores component instances in a constant, singleton service, memoized helper, cache object, or shared collection builder to avoid allocation. An attacker or lower-privileged user later triggers rendering of that same object. Potential real-world examples:
In these cases, a component first rendered under an admin or attacker-controlled request can affect later renders for other users. ImpactConfirmed impact classes:
This can chain into privilege escalation if an application relies on UI visibility as an authorization boundary. It can also leak signed links, tenant-specific URLs, admin actions, or user-specific data. Preconditions
Normal per-request usage such as Chaining PotentialThis issue can chain with:
The framework alone does not directly prove account takeover, but downstream applications can reach high impact if stale component output exposes privileged action links or bypasses server-side authorization assumptions. RemediationThe safest fix is to make component and collection instances one-shot renderables. Recommended options:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-54498
GHSA-97jw-64cj-jc58
Jul 15, 2026
ViewComponent: around_render HTML-Safety Bypass
8.7
/ 10
High
Network
Low
Low
Required
Changed
High
High
None
Summary
The issue is especially dangerous in collection rendering because Affected CodeValidated against:
Relevant locations:
Key code paths:
Root CauseNormal inline This creates two different output-safety behaviors:
Collection rendering then amplifies the issue by calling Proof of ConceptRun from the repository root:
Observed output:
The control case confirms that normal Exploit ScenarioA downstream application defines a component that uses Example vulnerable pattern:
If ImpactSuccessful exploitation allows XSS in applications using affected components. Depending on application context, impact can include:
The collection path is particularly risky because it converts the joined raw output to Preconditions
Chaining PotentialThis finding can chain with:
RemediationApply the same HTML-safety enforcement to Possible approaches:
Affected versions
4.0.0
4.0.1
4.0.2
4.1.0
4.1.1
4.10.0
4.11.0
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
+ 3 more Show less
4.7.0
4.8.0
4.9.0
Fixed in
4.12.0
References
Updated Jul 15, 2026 · Source: OSV.dev
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev | ||
4.0.0.rc5
pre
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev | ||
4.0.0.rc4
pre
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev | ||
4.0.0.rc3
pre
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev | ||
4.0.0.rc2
pre
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev | ||
4.0.0.rc1
pre
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev | ||
4.0.0.alpha7
pre
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev | ||
4.0.0.alpha6
pre
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev | ||
3.23.2
patch
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
3.23.2
patch
Dependencies (39)
+ 31 more
Changelog
Compare changes
|
|
3.23.1
patch
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
3.23.1
patch
Dependencies (39)
+ 31 more
Changelog
Compare changes
|
|
3.23.0
minor
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
3.23.0
minor
Dependencies (39)
+ 31 more
Changelog
Compare changes
|
|
4.0.0.alpha5
pre
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
4.0.0.alpha5
pre
Dependencies (31)
+ 23 more
Changelog
Compare changes
|
|
4.0.0.alpha4
pre
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
4.0.0.alpha4
pre
Dependencies (31)
+ 23 more
Changelog
Compare changes
|
|
4.0.0.alpha3
pre
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
4.0.0.alpha3
pre
Dependencies (31)
+ 23 more
Changelog
Compare changes
|
|
4.0.0.alpha2
pre
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
4.0.0.alpha2
pre
Dependencies (31)
+ 23 more
Changelog
Compare changes
|
|
4.0.0.alpha1
pre
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
4.0.0.alpha1
pre
Dependencies (31)
+ 23 more
Changelog
Compare changes
|
|
3.22.0
minor
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
3.22.0
minor
Dependencies (39)
+ 31 more
Changelog
Compare changes
|
|
3.21.0
minor
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
3.21.0
minor
Dependencies (38)
+ 30 more
Changelog
Compare changes
|
|
3.20.0
minor
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
3.20.0
minor
Dependencies (38)
+ 30 more
Changelog
Compare changes
|
|
3.19.0
minor
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
3.19.0
minor
Dependencies (39)
+ 31 more
Changelog
Compare changes
|
|
3.18.0
minor
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
3.18.0
minor
Dependencies (39)
+ 31 more
Changelog
Compare changes
|
|
3.17.0
minor
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
3.17.0
minor
Dependencies (39)
+ 31 more
Changelog
Compare changes
|
|
3.16.0
minor
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
3.16.0
minor
Dependencies (35)
+ 27 more
Changelog
Compare changes
|
|
3.15.1
patch
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
3.15.1
patch
Dependencies (34)
+ 26 more
Changelog
Compare changes
|
|
3.15.0
minor
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
3.15.0
minor
Dependencies (34)
+ 26 more
Changelog
Compare changes
|
|
3.14.0
minor
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
3.14.0
minor
Dependencies (33)
+ 25 more
Changelog
Compare changes
|
|
3.13.0
minor
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
3.13.0
minor
Dependencies (32)
+ 24 more
Changelog
Compare changes
|
|
3.12.1
patch
2 CVEs
CVE-2026-44837
GHSA-hg3h-g7xc-f7vp
May 08, 2026
view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryThe system test entrypoint canonicalizes a user-controlled file path with Severity: Medium; test-route scoped. Example:
The outside path is not inside the base directory, but it passes:
Relevant Code
The route then renders the resolved file:
Exploit FlowExample request:
Flow:
The route is mounted only in Targeted Fuzz ResultThe following sibling paths passed an equivalent
PoC TestCreate
Run:
Vulnerable behavior: the response succeeds and contains Fixed behavior: the request raises Suggested FixUse path-aware containment instead of a raw string prefix. For example:
Or require a separator boundary:
Add regression tests for:
Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-44836
GHSA-7f3r-gwc9-2995
May 08, 2026
view_component: Preview Route Can Dispatch Inherited Helper Methods
6.5
/ 10
Medium
Network
Low
Low
None
Unchanged
High
None
None
SummaryThe preview route derives an example name from the URL and calls it with As a result, inherited public methods on If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. Severity: High if preview routes are externally reachable; Medium otherwise. Affected files:
Relevant Code
The UI only lists direct preview methods via:
But Exploit FlowExample request:
Flow:
Impact depends on what internal templates render. In the worst case this can expose secrets, config, debug data, admin-only partials, or request/session-derived values. PoC TestThis checkout already contains a PoC at:
The test proves that If reproducing manually, run:
Equivalent standalone test:
Fixture template:
Suggested FixOnly dispatch explicitly declared preview examples:
Add a regression test that Affected versions
3.0.0
3.1.0
3.10.0
3.11.0
3.12.0
3.12.1
3.13.0
3.14.0
3.15.0
3.15.1
3.16.0
3.17.0
+ 44 more Show less
3.18.0
3.19.0
3.2.0
3.20.0
3.21.0
3.22.0
3.23.0
3.23.1
3.23.2
3.24.0
3.25.0
3.26.0
3.27.0
3.3.0
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
4.0.0
4.0.0.alpha1
4.0.0.alpha2
4.0.0.alpha3
4.0.0.alpha4
4.0.0.alpha5
4.0.0.alpha6
4.0.0.alpha7
4.0.0.rc1
4.0.0.rc2
4.0.0.rc3
4.0.0.rc4
4.0.0.rc5
4.0.1
4.0.2
4.1.0
4.1.1
4.2.0
4.3.0
4.4.0
4.5.0
4.6.0
4.7.0
4.8.0
Fixed in
4.9.0
References Updated Sep 10, 2026 · Source: OSV.dev |
3.12.1
patch
Dependencies (32)
+ 24 more
Changelog
Compare changes
|