Description
Alchemy is an open source content management system engine written in Ruby on Rails. Prior to 7.4.15, 8.0.15, 8.1.14, and 8.2.6, the unauthenticated GET /api/pages/nested endpoint implemented by Api::PagesController#nested in app/controllers/alchemy/api/pages_controller.rb returns an unfiltered page tree because it performs no authorization and does not scope descendants by the caller's ability. Anonymous callers can retrieve restricted and unpublished page metadata that the sibling show action denies. When elements=true is supplied, PageTreeSerializer also returns element and ingredient content from restricted pages because PageTreePreloader and the serializer do not apply an ability check to those records. This issue is fixed in versions 7.4.15, 8.0.15, 8.1.14, and 8.2.6.
Published: 2026-09-14
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Confidentiality compromise via unauthenticated API exposure
Action: Patch or Restrict
AI Analysis

Impact

Alchemy is an open‑source CMS written in Ruby on Rails. Prior to versions 7.4.15, 8.0.15, 8.1.14, and 8.2.6, the GET /api/pages/nested endpoint in Api::PagesController#nested can be accessed without authentication and returns an unfiltered page tree. Because it performs no authorization and does not scope descendants by the caller’s ability, an attacker can retrieve metadata for pages that are restricted or unpublished. When the query parameter elements=true is supplied, the serializer also returns the content of elements and ingredients from those restricted pages, leaking actual content. This allows an intruder to learn the site structure, the existence of unpublished material, and potentially sensitive page data, all without needing credentials. Such leakage can aid further attacks or serve as a knowledge vector for social engineering or data theft, constituting a confidentiality vulnerability.

Affected Systems

All installations of AlchemyCMS running any version earlier than 7.4.15, 8.0.15, 8.1.14, or 8.2.6 are affected. The vulnerability lives in the Alchemy CMS code base in the api/pages_controller.rb file and its child serializers. There is no mention of specific host environments; any publicly accessible instance is susceptible.

Risk and Exploitability

The EPSS score is < 1%, indicating a very low probability of exploitation. The CVSS score of 7.5 indicates a moderate risk level. The issue is not listed in CISA’s KEV catalog, suggesting no confirmed exploitation in the wild yet. The likely attack vector is an unauthenticated HTTP GET request to /api/pages/nested, which requires no credentials and no special environment configuration.

Generated by OpenCVE AI on September 21, 2026 at 00:06 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade AlchemyCMS to at least version 7.4.15, 8.0.15, 8.1.14, or 8.2.6 where nested pages access is restricted immediately, or block unauthenticated access to /api/pages/nested through a reverse proxy or firewall rule that requires authentication before the request reaches the application.
  • Perform a security review of other AlchemyCMS API endpoints to ensure similar authorization checks are present, especially those that expose nested structures or element content.
  • If upgrading immediately is not feasible, restrict exposure by placing the CMS behind a VPN or limiting access to trusted IPs until the patch is applied.

Generated by OpenCVE AI on September 21, 2026 at 00:06 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 15 Sep 2026 12:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Tue, 15 Sep 2026 05:45:00 +0000

Type Values Removed Values Added
First Time appeared Alchemy-cms
Alchemy-cms alchemy Cms
Vendors & Products Alchemy-cms
Alchemy-cms alchemy Cms

Mon, 14 Sep 2026 21:00:00 +0000

Type Values Removed Values Added
Description Alchemy is an open source content management system engine written in Ruby on Rails. Prior to 7.4.15, 8.0.15, 8.1.14, and 8.2.6, the unauthenticated GET /api/pages/nested endpoint implemented by Api::PagesController#nested in app/controllers/alchemy/api/pages_controller.rb returns an unfiltered page tree because it performs no authorization and does not scope descendants by the caller's ability. Anonymous callers can retrieve restricted and unpublished page metadata that the sibling show action denies. When elements=true is supplied, PageTreeSerializer also returns element and ingredient content from restricted pages because PageTreePreloader and the serializer do not apply an ability check to those records. This issue is fixed in versions 7.4.15, 8.0.15, 8.1.14, and 8.2.6.
Title Alchemy: Unauthenticated nested page API leaks restricted & unpublished content
Weaknesses CWE-862
References
Metrics cvssV3_1

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


Subscriptions

Alchemy-cms Alchemy Cms
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-14T17:40:12.109Z

Reserved: 2026-06-24T18:49:56.208Z

Link: CVE-2026-57579

cve-icon Vulnrichment

Updated: 2026-09-14T17:39:56.953Z

cve-icon NVD

Status : Deferred

Published: 2026-09-14T17:17:49.267

Modified: 2026-09-30T19:57:08.043

Link: CVE-2026-57579

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-21T00:15:06Z

Weaknesses