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-32300

CVE-2026-32300: Insecure Direct Object Reference in Connect-CMS Profile Update

Alon Barad
Alon Barad
Software Engineer

Mar 24, 2026·6 min read·49 visits

Executive Summary (TL;DR)

Authenticated attackers can modify arbitrary user profiles and hijack accounts via an IDOR vulnerability in the Connect-CMS profile update endpoint.

Connect-CMS suffers from an Insecure Direct Object Reference (IDOR) vulnerability within its My Page profile update functionality. The application relies on client-provided user identifiers to determine which profile record to modify, without verifying if the authenticated session holds the requisite permissions. This oversight permits any authenticated user to arbitrarily alter the profile data of other users, creating a direct path to full account takeover.

Vulnerability Overview

Connect-CMS is an open-source content management system that provides user authentication and profile management capabilities. The application exposes a 'My Page' component, which enables authenticated users to view and modify their personal profile information, such as their name, email address, and login identifier.

The vulnerability resides in the profile update routine of this component. Specifically, the application architecture trusts user-supplied input to identify the database record intended for modification. This architectural pattern constitutes an Insecure Direct Object Reference (IDOR), classified under CWE-639 (Authorization Bypass Through User-Controlled Key) and CWE-285 (Improper Authorization).

An attacker with low privileges (a standard authenticated account) can exploit this flaw by submitting a crafted HTTP request to the profile update endpoint. By substituting their own user identifier with the identifier of a target victim, the attacker coerces the application into overwriting the victim's profile data with the attacker's supplied payload. The attack requires no user interaction and operates entirely over the network.

Root Cause Analysis

The fundamental root cause of CVE-2026-32300 is a failure to correlate the object requested for modification with the established session context. The vulnerable code resides within the update method of the ProfileMypage plugin.

When a profile update request is received, the application router extracts a user identifier ($id) directly from the request URL. The controller then uses this unverified $id parameter in a database query to retrieve the user model. The application proceeds to apply the submitted profile changes to the retrieved model and saves the transaction to the database.

The controller entirely omits an authorization check. It does not invoke Laravel's authorization gates, nor does it explicitly verify that the $id from the route matches the identifier of the currently authenticated user (Auth::id()). Consequently, the application blindly executes the update operation on whichever user record corresponds to the URL parameter, relying on the false assumption that users will only interact with the user interface presented to them.

Code Analysis

The source of the vulnerability is clearly visible in the app/Plugins/Mypage/ProfileMypage/ProfileMypage.php file. The vulnerable implementation accepts the $id parameter from the route and uses it directly in the Eloquent ORM query.

public function update($request, $id)
{
    // VULNERABLE: Fetches user based solely on ID from URL parameter
    $user = User::where('id', $id)->first();
    
    // Application logic applies $request data to $user and saves it
}

The upstream maintainers resolved this vulnerability in versions 1.41.1 and 2.41.1 by completely removing the reliance on user-supplied identifiers for profile updates. The patched implementation utilizes the server-side session state to identify the target user record.

public function update($request, $id = null)
{
    // FIXED: Ignores URL $id and binds strictly to the authenticated user session
    $user = Auth::user();
    $user_id = $user->id;
    
    // Application logic applies $request data to the authenticated $user
}

This remediation strategy effectively eliminates the attack vector. By retrieving the User model directly from the Auth facade, the application ensures that users can only ever modify the profile associated with their active session token. The patch is structurally sound and prevents bypasses via parameter pollution or routing manipulation.

Exploitation Methodology

Exploitation of CVE-2026-32300 requires the attacker to possess a valid, authenticated session within the target Connect-CMS instance. The attacker must also discern or enumerate the user identifier of their intended victim. Since user IDs are frequently sequential integers or exposed in public components like comments or article metadata, enumeration is trivial in most deployments.

The attacker crafts an HTTP POST request targeting the profile update endpoint, specifying the victim's identifier in the URL path. The request body contains the attacker's desired values for the profile fields, most notably the email and userid parameters.

The official patch includes a feature test that functions as a programmatic Proof of Concept. This test demonstrates the vulnerability mechanics by simulating an attacker (attacker@example.com) attempting to update the profile of another user (victim@example.com).

public function testProfileUpdatePathIdCannotUpdateAnotherUser(): void
{
    $attacker = User::factory()->create(['email' => 'attacker@example.com']);
    $victim = User::factory()->create(['email' => 'victim@example.com']);
 
    $response = $this->actingAs($attacker)->post("/mypage/profile/update/{$victim->id}", [
        'name' => 'Attacker',
        'userid' => 'attacker-id',
        'email' => 'attacker-updated@example.com',
    ]);
 
    $this->assertSame('attacker-updated@example.com', $attacker->fresh()->email);
    $this->assertSame('victim@example.com', $victim->fresh()->email);
}

Impact Assessment

The vulnerability carries a High severity rating due to its profound impact on application integrity and user confidentiality. By manipulating the IDOR flaw, an attacker gains arbitrary write access to the profile data of any registered user within the system.

The most critical consequence is the potential for complete account takeover. An attacker can overwrite a victim's email address with an address controlled by the attacker. Subsequently, the attacker can invoke the application's standard "Forgot Password" workflow. The password reset token will be delivered to the newly configured attacker-controlled email, granting the attacker full access to the victim's account.

If the targeted victim possesses administrative privileges, this exploit chain escalates the attack from a standard account compromise to full administrative control over the Connect-CMS instance. This enables further malicious actions, including arbitrary content modification, extraction of sensitive database records, and potential remote code execution depending on the administrative features available in the CMS.

Remediation and Mitigation

The definitive resolution for CVE-2026-32300 is to apply the vendor-supplied patches. Organizations operating the 1.x release branch must upgrade to version 1.41.1, while those on the 2.x release branch must upgrade to version 2.41.1. These versions implement strict session-based authorization for profile modifications.

In environments where immediate patching is strictly prohibited by change control processes, mitigating the vulnerability is challenging due to the lack of distinct network signatures. Network defenders can attempt to monitor HTTP POST requests directed at /mypage/profile/update/* and flag anomalies where the path ID diverges from normal usage patterns, though this requires complex correlation with application session data.

Development teams should integrate automated authorization testing into their CI/CD pipelines to prevent regressions. Unit tests and feature tests must explicitly verify that endpoints handling state modifications reject inputs intended for records outside the authenticated user's ownership scope.

Official Patches

opensource-workshopRelease notes and patch for Connect-CMS 1.x
opensource-workshopRelease notes and patch for Connect-CMS 2.x

Fix Analysis (1)

Technical Appendix

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

Affected Systems

Connect-CMS 1.x up to and including 1.41.0Connect-CMS 2.x up to and including 2.41.0

Affected Versions Detail

Product
Affected Versions
Fixed Version
Connect-CMS
opensource-workshop
<= 1.41.01.41.1
Connect-CMS
opensource-workshop
<= 2.41.02.41.1
AttributeDetail
CWE IDCWE-639 / CWE-285
Attack VectorNetwork
CVSS v3.1 Score8.1 (High)
ImpactHigh Integrity, High Confidentiality
Privileges RequiredLow
Exploit StatusProof of Concept Available
KEV StatusNot Listed

MITRE ATT&CK Mapping

T1190Exploit Public-Facing Application
Initial Access
T1212Exploitation for Credential Access
Credential Access
CWE-639
Authorization Bypass Through User-Controlled Key

The system's authorization model fails to adequately verify that a user is permitted to access or modify the requested resource, resulting in an Insecure Direct Object Reference.

Vulnerability Timeline

Fix authored by developer gakigaki
2026-02-20
Version 1.41.1-rc3 released with initial fixes
2026-03-05
Version 1.41.1-rc4 released
2026-03-11
Official security advisory published and patched versions released
2026-03-23

References & Sources

  • [1]GitHub Security Advisory GHSA-qr6x-wvxr-8hm9
  • [2]CVE-2026-32300 Record

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 7 hours ago•CVE-2026-48861
2.1

CVE-2026-48861: HTTP Request Splitting and Smuggling via Method Parameter CRLF Injection in Elixir Mint

CVE-2026-48861 is a client-side HTTP request-line CRLF (Carriage Return Line Feed) injection vulnerability in the popular Elixir HTTP client library, Mint. The vulnerability permits HTTP Request Splitting and HTTP Request Smuggling when an application forwards untrusted, attacker-controlled inputs to Mint's HTTP client requests as either the HTTP request method or target. By embedding CRLF characters within these parameters, an attacker can terminate the request line prematurely, inject malicious headers, or pipeline entirely independent requests. These smuggled requests are then processed by upstream or downstream proxy servers as separate HTTP queries on the same TCP connection. While Mint version 1.7.0 introduced target validation to secure the request target, the HTTP request method parameter remained completely unvalidated. This flaw allows attackers to bypass routing filters, access restricted internal APIs, or poison HTTP caches under default configurations.

Amit Schendel
Amit Schendel
4 views•7 min read
•about 8 hours ago•CVE-2026-49753
6.3

CVE-2026-49753: HTTP Request/Response Smuggling via Inconsistent Content-Length Parsing in Elixir Mint Client

An Inconsistent Interpretation of HTTP Requests (HTTP Request/Response Smuggling) vulnerability in the Elixir Mint HTTP client allows attacker-controlled HTTP/1 servers to desynchronize response framing on shared connections due to over-lenient parsing of sign-prefixed Content-Length headers.

Amit Schendel
Amit Schendel
6 views•6 min read
•about 8 hours ago•CVE-2026-49754
8.2

CVE-2026-49754: Denial of Service via Unbounded HTTP/2 CONTINUATION Frame Accumulation in Elixir Mint

An allocation of resources without limits or throttling vulnerability in Elixir Mint allows an attacker-controlled HTTP/2 server to exhaust memory in a Mint client. The vulnerability is exploited by sending a HEADERS frame without the END_HEADERS flag followed by an infinite stream of CONTINUATION frames. Because the client lacks limits on the incoming header-block accumulator, the client continuously consumes memory until an out-of-memory crash occurs.

Amit Schendel
Amit Schendel
7 views•6 min read
•about 9 hours ago•CVE-2026-48596
2.1

CVE-2026-48596: Improper Neutralization of CRLF Sequences in Elixir Tesla Multipart HTTP Client

CVE-2026-48596 is an Improper Neutralization of CRLF Sequences in HTTP Headers (HTTP Request/Response Splitting, CWE-113) in the Elixir Tesla HTTP client. The flaw resides in how multipart content-type parameters are joined and serialized, enabling attackers to inject arbitrary headers or split HTTP requests when applications pass untrusted inputs to the parameters of multipart uploads.

Alon Barad
Alon Barad
5 views•6 min read
•about 9 hours ago•CVE-2026-48594
8.2

CVE-2026-48594: Decompression Bomb Denial of Service in Elixir Tesla HTTP Client

An improper handling of highly compressed data (decompression bomb) vulnerability exists in the Elixir Tesla HTTP client when utilizing response decompression middlewares. By serving highly compressed responses or stacked content-encoding headers, a malicious server can cause arbitrary heap exhaustion, leading to a denial of service (DoS) crash in the BEAM virtual machine.

Amit Schendel
Amit Schendel
6 views•6 min read
•about 10 hours ago•CVE-2026-48595
8.2

CVE-2026-48595: Cross-Origin Credential Leakage in Elixir Tesla Client via Case-Sensitive Redirect Filter Bypass

A high-severity security vulnerability in Elixir's Tesla HTTP client library (CVE-2026-48595) allows unauthenticated remote attackers to harvest sensitive credentials, including Authorization headers and cookies. The flaw resides in the 'Tesla.Middleware.FollowRedirects' component, which performs case-sensitive lookups when stripping credentials during cross-origin redirects. Because HTTP headers are case-insensitive by RFC specifications, standard canonical casing (e.g., 'Authorization') bypasses the lowercase-only blocklist, leaking tokens to untrusted external redirect destinations.

Alon Barad
Alon Barad
6 views•5 min read