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

Broken Access Control in Indico Event Series Management (CVE-2026-28352)

Amit Schendel
Amit Schendel
Senior Security Researcher

Mar 1, 2026·6 min read·45 visits

Executive Summary (TL;DR)

Indico < 3.3.11 exposes the event series management API without authentication. Attackers can modify series patterns or delete series metadata remotely.

A critical access control vulnerability in the Indico event management system allows unauthenticated attackers to modify or delete event series metadata. The flaw exists in the `RHEventSeries` handler, which failed to enforce authentication checks or permission validation prior to version 3.3.11.

Vulnerability Overview

Indico is a feature-rich event management system widely used for organizing conferences, workshops, and meetings. The platform relies on a complex hierarchy of categories, events, and series to structure content. A security vulnerability identified as CVE-2026-28352 exists in the module responsible for managing 'event series'—a logical grouping mechanism that links related events (e.g., a weekly lecture series).

The vulnerability is classified as a Missing Access Control issue (CWE-285). Specifically, the API endpoints handling the creation, modification, and deletion of event series data were exposed without mandatory authentication or authorization checks. In a standard Indico deployment, management functions are strictly reserved for event managers or system administrators. However, due to a lapse in the request handler inheritance structure, these specific endpoints accepted requests from any network user, regardless of their authentication status.

This flaw allows an attacker to bypass the intended security model entirely. By interacting directly with the backend API, an unauthorized actor can manipulate the metadata defining an event series. This includes modifying the title patterns used for cloning events and deleting the series association itself, which disrupts the logical organization of events within the system.

Root Cause Analysis

The root cause of this vulnerability lies in the implementation of the RHEventSeries class within Indico's backend logic. Indico utilizes a Flask-based architecture where request handling logic is encapsulated in classes derived from a base RH (Request Handler) class. Security in this framework is typically enforced through one of two mechanisms: explicitly implementing a _check_access method to validate permissions, or inheriting from a secure base class like RHProtected which enforces session validation by default.

In the affected versions (prior to 3.3.11), RHEventSeries inherited directly from the generic RH class. Critically, the developer failed to override the _check_access method. The base RH class is designed to be permissive for public endpoints, performing no authentication checks unless instructed otherwise. Consequently, when the Flask router dispatched HTTP requests to this handler, the application processed them immediately without verifying the identity of the requester or their permissions regarding the target event series.

This architectural oversight meant that the logic flow for critical actions—specifically process_POST, process_PATCH, and process_DELETE—executed in an unprivileged context. The system assumed, incorrectly, that access control was handled upstream or implicitly, leaving the endpoint wide open to public network traffic.

Code Analysis

The remediation of CVE-2026-28352 involved hardening the class hierarchy and implementing explicit permission logic. The following analysis compares the vulnerable implementation with the patched version introduced in commit fb6d800fbab3ac987c642ad42b297ea3cdfc0593.

Vulnerable Implementation

The original code likely resembled the following structure, where RHEventSeries inherits from RH and lacks access control hooks:

# Vulnerable: Inherits from base RH, no access checks
class RHEventSeries(RH):
    def _process_args(self):
        self.series = EventSeries.get_or_404(request.view_args['series_id'])
 
    def _process_DELETE(self):
        # ... logic to delete series ...

Patched Implementation

The fix enforces security layers. First, the inheritance is changed to RHProtected to ensure a valid user session exists. Second, a specific _check_access method is added to verify that the user has management rights over the specific series being targeted.

# Fixed: Inherits from RHProtected and enforces specific permissions
class RHEventSeries(RHProtected):
    def _process_args(self):
        self.series = EventSeries.get_or_404(request.view_args['series_id'])
 
    def _check_access(self):
        # 1. Base check ensures user is logged in
        RHProtected._check_access(self)
        
        # 2. Specific check: User must manage ALL events in the series
        if self.series and not self.series.can_manage(session.user):
            raise NoReportError.wrap_exc(
                Forbidden(_('You can only manage a series if you can manage all its events.'))
            )

The patch also introduces the can_manage method on the EventSeries model, ensuring that management rights are consistent across all events linked to the series. This prevents a scenario where a user with rights to only one event in a series could modify the entire series settings.

Exploitation Mechanics

Exploiting this vulnerability requires no authentication and can be performed by any attacker with network access to the Indico instance. The attack vector involves sending crafted HTTP requests to the /event-series/<series_id> endpoint. Since the ID is typically a sequential integer, an attacker can easily enumerate valid series IDs.

Attack Scenario: Deleting a Series

To break the association between events in a series, an attacker issues a DELETE request. This does not delete the events themselves but removes the EventSeries object, causing the events to lose their grouping and numbering metadata.

DELETE /event-series/12345 HTTP/1.1
Host: indico.target-org.example
Accept: application/json
# No Cookie or Authorization header required

Attack Scenario: Modifying Patterns

An attacker can also send a PATCH request to modify the event_title_pattern. This pattern is used when cloning events within the series. Malicious modification here could confuse legitimate administrators or, depending on how the title pattern is rendered in the administrative UI, potentially serve as a vector for stored Cross-Site Scripting (XSS) if output encoding is insufficient (though XSS is not the primary scope of this specific CVE).

PATCH /event-series/12345 HTTP/1.1
Host: indico.target-org.example
Content-Type: application/json
 
{
    "event_title_pattern": "HACKED_SERIES_{}"
}

The impact is immediate: the server processes the request and commits the changes to the database without challenging the user.

Impact Assessment

While CVE-2026-28352 allows unauthorized write access, the scope is limited to event series metadata. It does not provide direct access to sensitive user data, private event content, or uploaded files. The impact is primarily categorized as Integrity and Availability degradation regarding the organization of events.

Confidentiality (Low): The attacker can retrieve metadata about a series (titles, patterns) even if the series is associated with private events. However, the deep content of the events remains protected by separate ACLs.

Integrity (Low/Medium): The ability to modify the event_title_pattern allows an attacker to vandalize the configuration of a series. This can disrupt administrative workflows and lead to confusion among event organizers.

Availability (Low): By deleting the EventSeries object, the attacker disrupts the logical grouping of events. While the underlying event data persists, the structural integrity of the conference or lecture series is damaged, requiring administrative intervention to restore.

CVSS v3.1 Scoring: The vulnerability is assigned a Base Score of 6.5 (Medium). The vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N reflects the network-based attack vector, low complexity, and lack of privileges required, balanced by the limited scope of the impact.

Official Patches

IndicoIndico v3.3.11 Release Notes
GitHubGHSA Advisory

Fix Analysis (1)

Technical Appendix

CVSS Score
6.5/ 10
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
EPSS Probability
0.04%
Top 89% most exploited

Affected Systems

Indico Event Management System

Affected Versions Detail

Product
Affected Versions
Fixed Version
Indico
Indico
< 3.3.113.3.11
AttributeDetail
CWECWE-285 / CWE-306
CVSS v3.16.5 (Medium)
Attack VectorNetwork
Privileges RequiredNone
ImpactMetadata Modification
Exploit StatusProof of Concept

MITRE ATT&CK Mapping

T1190Exploit Public-Facing Application
Initial Access
T1496Resource Hijacking (Metadata Modification)
Impact
CWE-285
Improper Authorization

Vulnerability Timeline

Initial fix development started
2026-02-17
Final authorization logic committed
2026-02-24
Indico 3.3.11 released with fix
2026-02-27
GHSA-rfpp-2hgm-gp5v and CVE-2026-28352 published
2026-02-27

References & Sources

  • [1]Patch Commit
  • [2]NVD CVE-2026-28352

More Reports

•6 days ago•CVE-2026-9354
6.9

CVE-2026-9354: Arbitrary Mass Mention Bypass in NousResearch hermes-agent Slack and Mattermost Adapters

A vulnerability in the Slack and Mattermost platform adapters for NousResearch hermes-agent permits an unauthenticated remote attacker to execute arbitrary mass mentions. By leveraging prompt injection, an attacker can bypass output sanitization logic and trigger workspace-wide notification exhaustion.

Alon Barad
Alon Barad
35 views•6 min read
•7 days ago•CVE-2026-9306
6.3

CVE-2026-9306: Unauthenticated Insecure Direct Object Reference (IDOR) in QuantumNous new-api Midjourney Relay

CVE-2026-9306 is a critical unauthenticated Insecure Direct Object Reference (IDOR) vulnerability located in the QuantumNous new-api application, affecting versions up to and including 0.12.1. The flaw is caused by improper middleware ordering combined with a lack of object-level authorization checks. This allows remote, unauthenticated attackers to retrieve sensitive Midjourney images belonging to other users by supplying a valid task identifier.

Amit Schendel
Amit Schendel
13 views•5 min read
•7 days ago•GHSA-GGXF-37HM-9WQF
6.5

GHSA-GGXF-37HM-9WQF: Session Leakage via Unsafe Challenge Path Parsing in instagrapi

The instagrapi library prior to version 2.6.9 contains an improper input validation vulnerability within its challenge handling mechanism. Maliciously crafted server responses can manipulate the client into forwarding session cookies and credentials to an external attacker-controlled domain.

Amit Schendel
Amit Schendel
21 views•6 min read
•8 days ago•GHSA-QQQM-5547-774X
9.1

GHSA-QQQM-5547-774X: Unauthenticated Path Traversal in FileBrowser Quantum PATCH Handler

GHSA-QQQM-5547-774X is a critical path traversal vulnerability in the FileBrowser Quantum application, specifically within the Go backend package. The vulnerability resides in the HTTP handler responsible for processing bulk file modifications via the public API. Unauthenticated attackers can exploit an order-of-operations flaw in the path sanitization logic to bypass intended directory restrictions. This allows adversaries to arbitrarily read, move, and overwrite files on the underlying filesystem by supplying specially crafted HTTP PATCH requests.

Alon Barad
Alon Barad
9 views•6 min read
•8 days ago•CVE-2026-8723
5.3

CVE-2026-8723: Synchronous Denial of Service in qs npm Package via TypeError

The qs query string parsing and serialization library for Node.js is vulnerable to a synchronous Denial of Service (DoS) attack. The vulnerability manifests as a process-terminating TypeError when processing arrays with null or undefined elements under specific configuration parameters.

Amit Schendel
Amit Schendel
37 views•7 min read
•8 days ago•GHSA-7M8F-HGJQ-8GC9
7.5

GHSA-7M8F-HGJQ-8GC9: Pre-Authentication Denial of Service via Insecure Deserialization Order in aiosend

The aiosend library prior to version 3.0.6 contains a pre-authentication Denial of Service (DoS) vulnerability in its webhook handling mechanism. The software processes and deserializes incoming JSON payloads before verifying the cryptographic signature, allowing unauthenticated attackers to exhaust server CPU and memory resources by sending large, complex payloads.

Amit Schendel
Amit Schendel
4 views•6 min read