Skip to content
Heist/ feed
Back to feed
Medium

ruby-view-component — security advisory

Type: advisorySources: OSVAdvisory ID: UBUNTU-CVE-2026-44836

view_component is a framework for building reusable, testable, and encapsulated view components in Ruby on Rails. From 3.0.0 to 4.9.0, the preview route derives an example name from the URL and calls it with public_send. The code does not verify that the requested method is one of the preview examples explicitly defined by the preview class. As a result, inherited public methods on ViewComponent::Preview are route-reachable. The most important one is render_with_template, which accepts template: and locals:. Those values can come from request params and are later passed to Rails as render template:. If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. This vulnerability is fixed in 4.9.0.

Products
ruby-view-component
Affected versions
2.82.0-1, 3.8.0-1, 4.12.0-1, 4.8.0-1
Fixed versions
Not specified
CVEs
CVE-2026-44836
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 03:04 UTC · Revision 1

Source evidence

UBUNTU-CVE-2026-44836

core-osv · Original source

Published 26 May 2026, 21:16 UTC

view_component is a framework for building reusable, testable, and encapsulated view components in Ruby on Rails. From 3.0.0 to 4.9.0, the preview route derives an example name from the URL and calls it with public_send. The code does not verify that the requested method is one of the preview examples explicitly defined by the preview class. As a result, inherited public methods on ViewComponent::Preview are route-reachable. The most important one is render_with_template, which accepts template: and locals:. Those values can come from request params and are later passed to Rails as render template:. If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. This vulnerability is fixed in 4.9.0.

osv:UBUNTU-CVE-2026-44836

ruby-view-component

Fixed versions: Not specified

ruby-view-component

Fixed versions: Not specified

Complete source record
{
  "id": "5e25a34df8ec69beffb8cff96118bbbf514fd038567a043968c480a5acd692db",
  "url": "https://osv.dev/vulnerability/UBUNTU-CVE-2026-44836",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "UBUNTU-CVE-2026-44836",
    "summary": "view_component is a framework for building reusable, testable, and encapsulated view components in Ruby on Rails. From 3.0.0 to 4.9.0, the preview route derives an example name from the URL and calls it with public_send. The code does not verify that the requested method is one of the preview examples explicitly defined by the preview class. As a result, inherited public methods on ViewComponent::Preview are route-reachable. The most important one is render_with_template, which accepts template: and locals:. Those values can come from request params and are later passed to Rails as render template:. If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. This vulnerability is fixed in 4.9.0.",
    "evidence": "osv:UBUNTU-CVE-2026-44836",
    "products": [
      {
        "name": {
          "value": "ruby-view-component",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "2.82.0-1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "3.8.0-1",
            "evidence": "/affected/0/versions"
          }
        ]
      },
      {
        "name": {
          "value": "ruby-view-component",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "4.8.0-1",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "4.12.0-1",
            "evidence": "/affected/1/versions"
          }
        ]
      }
    ],
    "severity": "medium",
    "structured": {
      "id": "UBUNTU-CVE-2026-44836",
      "aliases": [
        "UBUNTU-CVE-2026-44836"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"
        },
        {
          "type": "Ubuntu",
          "score": "medium"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "ruby-view-component",
            "purl": "pkg:deb/ubuntu/ruby-view-component?arch=source&distro=noble",
            "ecosystem": "Ubuntu:24.04:LTS"
          },
          "versions": [
            "2.82.0-1",
            "3.8.0-1"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-44836.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "ruby-view-component",
                "binary_version": "3.8.0-1"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "ruby-view-component",
            "purl": "pkg:deb/ubuntu/ruby-view-component?arch=source&distro=stonking",
            "ecosystem": "Ubuntu:26.10"
          },
          "versions": [
            "4.8.0-1",
            "4.12.0-1"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-44836.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "ruby-view-component",
                "binary_version": "4.12.0-1"
              }
            ]
          }
        }
      ],
      "modified": "2026-10-17T13:00:09.870313908Z",
      "provider": "osv",
      "upstream": [
        "CVE-2026-44836"
      ],
      "references": [
        "https://ubuntu.com/security/CVE-2026-44836",
        "https://www.cve.org/CVERecord?id=CVE-2026-44836",
        "https://github.com/ViewComponent/view_component/security/advisories/GHSA-7f3r-gwc9-2995"
      ]
    },
    "related_cves": [
      {
        "value": "CVE-2026-44836",
        "evidence": "/upstream"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 360379,
  "published_at": "2026-05-26T21:16:00+00:00"
}