Skip to main content

Indico CVE-2026-107396

| EUVDEUVD-2026-95214 MEDIUM
Incomplete Denylist to Cross-Site Scripting (CWE-692)
2026-10-08 GitHub_M GHSA-c4wc-ggrj-jg9v
5.4
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate with submitter or event-management rights
  2. Delivery
    Store javascript: URL in custom link/note field
  3. Exploit
    Victim clicks the crafted link
  4. Execution
    Script executes in Indico origin
  5. Impact
    Hijack victim session or exfiltrate data

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V3 - Web Frontend Security Incomplete model of endpoint features
Exploitation Conditions

Exploitation requires an authenticated account with at least submitter, speaker (material upload), or event-management privileges, and the ability to enter a custom URL in an affected field - specifically attachment link URLs (indico/modules/attachments/forms.py), event layout/menu links (events/layout/forms.py), and event note/minutes HTML (events/notes/schemas.py). The attacker stores a javascript: scheme URL (or unsanitized HTML), and a second condition is victim interaction: another user must click the crafted link for the script to run in the Indico origin. Limiting factors: this is not remotely unauthenticated (privileged event role needed), it depends on social-engineering the victim into clicking, and for the minutes/notes variant both attacker and victim must share edit privileges on the same minutes, further narrowing realistic abuse. Fixed in Indico 3.3.13.

Impact

This is a stored/DOM cross-site-scripting issue (CWE-692, incomplete denylist for javascript: URLs) with a vendor-assigned CVSS of 5.4 (CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N), which is consistent with the description: the network attack vector reflects a web application, but PR:L confirms the attacker must already hold at least submitter/content-creator or event-management privileges, and UI:R confirms the victim must click the malicious link. The S:C (scope change) and C:L/I:L capture that injected script runs in the Indico origin against other users' sessions. No EPSS score, no CISA KEV listing, and no public exploit were provided, so there is no public exploit identified at time of analysis and no evidence of active exploitation - the only 'source code evidence' supplied is the upstream patch diff (PR #7619), not a weaponized POC. The vendor (CERN/Indico) itself rates the real-world risk as low, noting the attacker needs privileged event access plus victim interaction. Net: this is a legitimately low-to-moderate, privilege-and-interaction-gated XSS, not a drop-everything priority; the high-sounding network vector is tempered by the authentication and user-interaction requirements. All signals are mutually consistent; the main missing data points are EPSS probability and any independent exploitation telemetry.

Exploit ScenarioDerived

An attacker with submitter, speaker, or event-management rights edits an attachment link, menu entry, or event note/minutes and stores a javascript: URL in a field that accepts custom URLs. When another Indico user (e.g., a conference participant or co-organizer) clicks that link, the attacker-controlled script executes in the victim's browser within the Indico origin, enabling session/cookie theft or actions as the victim. No public exploit code was identified; only the upstream fix commit is available.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 08, 2026

Stored cross-site scripting in Indico before 3.3.13 lets authenticated users with content-creation privileges - event managers, submitters, and speakers who can upload material or edit minutes - store crafted javascript: URLs and unsanitized HTML in fields that accept custom links, including attachment link URLs, event layout/menu links, and event notes. When another user clicks one of these stored links, the attacker's script runs in the victim's browser within the Indico origin, enabling session-riding or data disclosure in the application context. The issue is rated CVSS 5.4 (CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N), reflecting that it requires a privileged event role plus victim click-through rather than unauthenticated access; no public exploit code has been identified at time of analysis, and the vendor notes the practical risk is relatively low because of these preconditions.

RemediationAI

Vendor-released patch: Indico 3.3.13 - upgrade to that version, which adds the WTForms URL() validator to the attachment and layout link fields, enforces an http/https-only scheme allowlist in the multi-URL field, and sanitizes note/minutes HTML via sanitize_html in the Marshmallow schemas. See the release tag at https://github.com/indico/indico/releases/tag/v3.3.13, the advisory at https://github.com/indico/indico/security/advisories/GHSA-c4wc-ggrj-jg9v, and the fix PR at https://github.com/indico/indico/pull/7619. Where upgrading immediately is not possible, compensating controls are limited and carry trade-offs: restrict event roles so that only trusted administrators can create events, manage layout/menus, upload material, or edit minutes, since the flaw requires a privileged content-creation account (side effect: reduced collaboration and speaker self-service); disable or avoid custom link fields and attachment-link entries in event configuration where the deployment can forgo them (side effect: loss of legitimate external linking); and treat any javascript:-scheme or non-http(s) link pasted by a user as hostile during content review. Because exploitation also depends on a victim clicking the stored link, user education against following untrusted event links provides only marginal, non-guaranteed protection and should not be treated as a substitute for the 3.3.13 upgrade.

Affected VersionsENISA

indico < 3.3.13

Affected Packages

pypi indico fix: 3.3.13

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-692, an incomplete denylist for dangerous URL schemes. Indico renders user-supplied link fields (attachment URLs, event layout/menu link items, and note/minutes HTML) from a Python/Flask web stack that historically relied on WTForms URLField for input, which performs only a syntactic check and does not reject the javascript: scheme. Because the stored URL is emitted into the Indico origin, a javascript: URI executes in the application's security context when clicked. The upstream fix (PR 7619, commit d4c8c7127176efa4cb53c64119ca8ee2b551be18) hardens several layers: the URLField instances in indico/modules/attachments/forms.py and indico/modules/events/layout/forms.py now carry an additional WTForms URL() validator, the multi-link field in indico/web/forms/fields/simple.py now explicitly rejects any entry whose URL does not start with http:// or https:// (raising a validation error otherwise), and the Marshmallow schemas for event notes (indico/modules/events/notes/schemas.py) gain a post_dump hook that pipes the note HTML through sanitize_html before it is serialized to the client. The accompanying test asserts that an '<img onerror="evil" src="x">' payload is reduced to '<img src="x">', confirming the sanitization behavior.

Know when Indico gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 5.4 MEDIUM
AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
vuln.today AI 5.4 MEDIUM

Web app over network (AV:N/AC:L); attacker needs submitter/manager role (PR:L) and victim must click (UI:R); injected script crosses into other users' origin context (S:C) with limited C/I and no availability impact.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:A/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

1
Patch available
Oct 08, 2026 - 21:17 EUVD

DescriptionCVE.org

Indico is an event management system that uses Flask-Multipass, a multi-backend authentication system for Flask. Prior to 3.3.13, users who can manage events or create content, including speakers who can upload material, can store crafted javascript URLs in fields that accept custom URLs. A user who follows one of these URLs can execute attacker-controlled script in the user's browser in the Indico origin. This issue is fixed in version 3.3.13.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Low
Indico is CERN academic/research conference software; widely used but industry-niche
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

47
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +27
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Indico

View all
CVE-2025-53640 MEDIUM POC
6.5 Jul 14

Indico is an event management system that uses Flask-Multipass, a multi-backend authentication system for Flask. Startin

CVE-2026-107397 MEDIUM POC
4.4 Oct 08

Stored cross-site scripting in Indico event management system before 3.3.13 lets authenticated users with content-creati

CVE-2021-30185 HIGH
7.5 Apr 07

CERN Indico before 2.3.4 can use an attacker-supplied Host header in a password reset link. Rated high severity (CVSS 7.

CVE-2026-107394 MEDIUM
6.8 Oct 08

Server-side request forgery in Indico (all versions prior to 3.3.13) allows an authenticated event organizer to make the

CVE-2026-28352 MEDIUM
6.5 Feb 27

Missing authentication checks on Indico's event series management API endpoint allows unauthenticated attackers to view

CVE-2024-45399 MEDIUM
6.1 Sep 04

Indico is an event management system that uses Flask-Multipass, a multi-backend authentication system for Flask. Rated m

CVE-2026-25739 MEDIUM
5.4 Feb 19

Cross-site scripting in Indico prior to version 3.3.10 allows authenticated users to inject malicious scripts through ma

CVE-2023-37901 MEDIUM
5.4 Jul 21

Indico is an open source a general-purpose, web based event management tool. Rated medium severity (CVSS 5.4), this vuln

CVE-2026-25738 MEDIUM
4.3 Feb 19

Indico versions before 3.3.10 allow authenticated event organizers to conduct server-side request forgery attacks by pro

CVE-2026-107395 MEDIUM
4.3 Oct 08

Missing per-session authorization in Indico's legacy session export API (all versions prior to 3.3.13) allows any authen

CVE-2025-59035 MEDIUM
4.6 Sep 10

Indico is an event management system that uses Flask-Multipass, a multi-backend authentication system for Flask. Rated m

CVE-2025-59034 MEDIUM
4.3 Sep 10

Indico is an event management system that uses Flask-Multipass, a multi-backend authentication system for Flask. Rated m

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy