CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-32299

CVE-2026-32299: Improper Authorization and Data Leakage in Connect-CMS

Amit Schendel
Amit Schendel
Senior Security Researcher

Mar 24, 2026·6 min read·26 visits

Executive Summary (TL;DR)

Unauthenticated attackers can read restricted content in Connect-CMS due to flawed authorization middleware and missing frame-to-page validation.

Connect-CMS versions prior to 1.41.1 and 2.41.1 contain an improper authorization vulnerability in the content retrieval logic. The flaw allows unauthenticated remote attackers to retrieve non-public information by exploiting an incomplete route coverage implementation and a missing frame-to-page ID validation check.

Vulnerability Overview

Connect-CMS is a content management system that relies on a hierarchical structure of pages and content frames. Pages represent the navigational structure, while frames act as plugin instances that render specific content on those pages. The application uses a middleware-based approach to enforce visibility and IP-based access restrictions across these resources.

CVE-2026-32299 is an improper authorization vulnerability (CWE-284) affecting the 1.x and 2.x branches of Connect-CMS. The flaw resides in the content retrieval feature, specifically within the route authorization middleware and the frame validation logic. Unauthenticated remote attackers can exploit this vulnerability to extract non-public information from the application.

The vulnerability exposes restricted content frames attached to private or unpublished pages. Attackers achieve this by manipulating route parameters to bypass middleware checks that were incorrectly constrained to a hardcoded list of routes. The impact is limited to data confidentiality, but it requires no elevated privileges or user interaction to execute.

Root Cause Analysis

The root cause of CVE-2026-32299 involves two distinct logical failures in the Connect-CMS architecture. The first failure exists within the ConnectPage middleware (app/Http/Middleware/ConnectPage.php), which determines whether an incoming request requires authorization checks. The middleware used a hardcoded method named isPageLimitCheckRoute to define the scope of its enforcement.

Prior to the patch, critical content retrieval endpoints were omitted from this method. Routes such as get_json, post_json, get_download, and post_download bypassed the checkPageForbidden logic entirely. This architectural oversight allowed direct, unauthenticated access to endpoints designed to serve plugin-specific JSON data and file attachments.

The second failure is an Insecure Direct Object Reference (IDOR) vulnerability in the controller logic. Connect-CMS routes typically accept both a page_id and a frame_id. The backend controllers verified that the requested page_id was accessible to the user, but they failed to validate the relationship between the page_id and the frame_id.

An attacker could supply a publicly accessible page_id alongside a frame_id that belonged to a restricted page. Because the controller only checked the permissions of the page_id, the authorization check would pass. The application would then fetch and return the content for the restricted frame_id.

Code Analysis

The remediation for CVE-2026-32299 required modifications to both the middleware and the controllers. The patches were introduced in commits 8ef15cdc310fc784ae3755f49130da61ebba1bea and c2519d7983e850bb45dd60cea99db0fe97ed6edd. The fix addresses both the route coverage omissions and the entity relationship validation.

The developers expanded the isPageLimitCheckRoute method in ConnectPage.php to include the previously vulnerable routes. This ensures that requests targeting JSON data and downloads are subject to the same visibility and IP restrictions as standard page requests. The middleware now acts as a consistent gatekeeper for all content-serving endpoints.

To address the IDOR vulnerability, the patch introduces a new method isValidPageAndFrame within the middleware. This function retrieves the frame object corresponding to the provided route_frame_id and compares its internal page_id against the route_page_id supplied in the URL. If the IDs do not match, the middleware rejects the request.

// app/Http/Middleware/ConnectPage.php (Patched)
private function isValidPageAndFrame($request)
{
    $route_page_id = $request->route('page_id');
    $route_frame_id = $request->route('frame_id');
    
    $frame = $request->attributes->get('frame');
    if (empty($frame)) {
        return false;
    }
    
    // Validates that the requested frame actually belongs to the requested page
    return ((int)$frame->page_id === (int)$route_page_id);
}

Additionally, the DefaultController.php methods invokeGetJson and invokePostDownload were updated. They now explicitly check for an http_status_code attribute set by the middleware. If an authorization failure occurs, the controller aborts execution immediately rather than returning the requested frame data.

Exploitation

Exploitation of CVE-2026-32299 requires no specialized tools and can be executed via standard HTTP GET or POST requests. The attacker must operate over the network, but no prior authentication or session establishment is necessary. The exploit path relies solely on enumerating or guessing valid integer IDs for pages and frames.

The first step involves identifying a valid page_id that is configured for public access. This serves as the authorization anchor. The attacker then enumerates frame_id values, targeting frames that are attached to non-public pages. The sequential nature of these integer IDs makes enumeration highly feasible.

The attacker constructs a request targeting one of the omitted routes, such as /json/contents/show/{page_id}/{frame_id}. By combining the public page_id with the restricted frame_id, the attacker satisfies the flawed controller logic. The middleware ignores the route, and the controller processes the request based on the public page's permissions.

The application responds with the JSON payload containing the contents of the restricted frame. For download routes, the attacker can retrieve metadata or file contents associated with non-public attachments. This allows comprehensive mapping and extraction of sensitive data stored within the CMS.

Impact Assessment

The vulnerability carries a CVSS v3.1 base score of 7.5, reflecting a high severity issue centered entirely on confidentiality loss. The attack vector is strictly network-based (AV:N), and the exploit complexity is low (AC:L). The absence of required privileges (PR:N) or user interaction (UI:N) makes this flaw highly accessible to automated exploitation.

The primary consequence is the unauthorized disclosure of information stored within Connect-CMS. This includes text content, plugin data, and uploaded files that administrators explicitly marked as private or restricted. Depending on the site's purpose, this data could range from draft blog posts to sensitive internal company documents.

The integrity and availability of the system remain unaffected (I:N, A:N). Attackers cannot modify content, delete frames, or disrupt the operation of the CMS through this specific vector. The risk is strictly constrained to read-only access of data managed by the frame subsystem.

Remediation

The primary remediation for CVE-2026-32299 is to upgrade the Connect-CMS installation to a patched version. Administrators running the 1.x series must update to version 1.41.1. Deployments using the 2.x series must upgrade to version 2.41.1. These releases contain the comprehensive middleware and controller fixes necessary to prevent the attack.

If immediate patching is not possible, administrators should monitor web server access logs for anomalous behavior. Security teams should look for high-volume requests targeting the /json/ and /download/ endpoint paths. Specifically, requests combining known public page IDs with a rapidly iterating sequence of frame IDs strongly indicate enumeration attempts.

Organizations developing custom plugins for Connect-CMS must review their codebase. Developers must ensure that all custom content retrieval endpoints explicitly validate the relationship between requested entities. Relying solely on the parent object's authorization state without verifying ownership of the child object introduces significant risk.

Official Patches

opensource-workshopConnect-CMS v1.41.1 Release Notes
opensource-workshopConnect-CMS v2.41.1 Release Notes

Fix Analysis (2)

Technical Appendix

CVSS Score
7.5/ 10
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Affected Systems

Connect-CMS 1.x < 1.41.1Connect-CMS 2.x < 2.41.1

Affected Versions Detail

Product
Affected Versions
Fixed Version
connect-cms
opensource-workshop
< 1.41.11.41.1
connect-cms
opensource-workshop
>= 2.0.0, < 2.41.12.41.1
AttributeDetail
CWE IDCWE-284 (Improper Access Control)
Attack VectorNetwork
CVSS v3.17.5 (High)
ImpactConfidentiality Loss
Privileges RequiredNone
Exploit StatusUnexploited
KEV StatusNot Listed

MITRE ATT&CK Mapping

T1190Exploit Public-Facing Application
Initial Access
CWE-284
Improper Access Control

The software does not restrict or incorrectly restricts access to a resource from an unauthorized actor.

Vulnerability Timeline

Advisory published by OpenSource-WorkShop
2026-03-23
CVE-2026-32299 published
2026-03-23
Patches released in versions 1.41.1 and 2.41.1
2026-03-23

References & Sources

  • [1]Official Security Advisory (GHSA-62ch-j6x7-722j)
  • [2]NVD Release Details

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•about 3 hours ago•GHSA-6GQW-JQV7-V88M
7.2

GHSA-6GQW-JQV7-V88M: Multi-Tenant Isolation Bypass in stigmem-node via Missing SQL Tenant Predicates

A critical vulnerability exists in the stigmem-node package when running the opt-in stigmem-plugin-multi-tenant plugin. Due to a failure to enforce tenant-scoping filters on database queries within the decay sweep, quarantine moderation, and right-to-be-forgotten (RTBF) subsystems, an authorized caller belonging to one tenant can access, modify, and delete facts belonging to all other tenants. This broken object level authorization (BOLA) vulnerability allows cross-tenant data manipulation and information leakage.

Amit Schendel
Amit Schendel
2 views•6 min read
•about 3 hours ago•GHSA-V3F4-W7R7-V3HM
8.6

GHSA-v3f4-w7r7-v3hm: Remote Command Execution via Origin Validation Error in Uni-CLI Legacy HTTP Transport

An origin validation error and cross-site request forgery vulnerability in @zenalexa/unicli prior to version 0.225.2 allows cross-origin web applications to execute arbitrary tools on a user's local machine via the legacy stateless HTTP transport.

Amit Schendel
Amit Schendel
2 views•7 min read
•about 4 hours ago•GHSA-C795-2G9C-J48M
8.2

GHSA-C795-2G9C-J48M: Remote Path Traversal and Arbitrary File Write in EverOS Memory Ingestion

EverOS versions 1.0.0 and earlier contain a path traversal vulnerability in the user memory ingestion endpoint. By exploiting this flaw, unauthenticated network attackers can escape the designated database memory root and write arbitrary Markdown files to target directories on the local system.

Alon Barad
Alon Barad
4 views•6 min read
•about 4 hours ago•GHSA-X975-RGX4-5FH4
8.2

GHSA-X975-RGX4-5FH4: Unescaped Locator Data Cross-Site Scripting in appium-mcp MCP-UI Resource

GHSA-X975-RGX4-5FH4 is a high-severity Cross-Site Scripting (XSS) vulnerability residing in the Model Context Protocol (MCP) User Interface (UI) component of appium-mcp, an NPM package integrating Appium with MCP clients. The flaw exists within the createLocatorGeneratorUI utility function, which renders UI metadata directly into an HTML template page without performing sanitization or encoding. Because MCP clients use window.parent.postMessage to send commands from the UI to the host, this XSS can be escalated to trigger arbitrary MCP tool calls, potentially leading to Remote Code Execution (RCE) on the host running the MCP client.

Alon Barad
Alon Barad
6 views•6 min read
•about 5 hours ago•GHSA-H3M5-97JQ-QJRF
9.6

GHSA-H3M5-97JQ-QJRF: Insecure Direct Object Reference (IDOR) Cross-Realm Bulk Alarm Deletion in OpenRemote Manager

An Insecure Direct Object Reference (IDOR) and missing authorization flaw in OpenRemote Manager allows an authenticated, low-privilege multi-tenant user to execute cross-realm bulk alarm deletion, resulting in permanent destruction of safety-critical alarms belonging to other tenants.

Amit Schendel
Amit Schendel
4 views•7 min read
•about 5 hours ago•GHSA-WVRH-2F4M-924V
5.5

GHSA-wvrh-2f4m-924v: Symlink-Following Arbitrary File Write in ChatterBot UbuntuCorpusTrainer

An insecure file extraction vulnerability exists in the UbuntuCorpusTrainer component of the ChatterBot package. Due to a combination of a predictable download path, a check-then-create directory pattern, and unvalidated symbolic link resolution during archive extraction, local attackers can write arbitrary files to restricted filesystem paths.

Amit Schendel
Amit Schendel
4 views•6 min read