Join the Cyber Forum: Threat Intel on May 12, 2026 to learn how AI is reshaping threat defense.Join the Virtual Cyber Forum: Threat IntelRegister Now
Experiencing a Breach?Blog
Get StartedContact Us
SentinelOne
  • Platform
    Platform Overview
    • Singularity Platform
      Welcome to Integrated Enterprise Security
    • AI for Security
      Leading the Way in AI-Powered Security Solutions
    • Securing AI
      Accelerate AI Adoption with Secure AI Tools, Apps, and Agents.
    • How It Works
      The Singularity XDR Difference
    • Singularity Marketplace
      One-Click Integrations to Unlock the Power of XDR
    • Pricing & Packaging
      Comparisons and Guidance at a Glance
    Data & AI
    • Purple AI
      Accelerate SecOps with Generative AI
    • Singularity Hyperautomation
      Easily Automate Security Processes
    • AI-SIEM
      The AI SIEM for the Autonomous SOC
    • AI Data Pipelines
      Security Data Pipeline for AI SIEM and Data Optimization
    • Singularity Data Lake
      AI-Powered, Unified Data Lake
    • Singularity Data Lake for Log Analytics
      Seamlessly Ingest Data from On-Prem, Cloud or Hybrid Environments
    Endpoint Security
    • Singularity Endpoint
      Autonomous Prevention, Detection, and Response
    • Singularity XDR
      Native & Open Protection, Detection, and Response
    • Singularity RemoteOps Forensics
      Orchestrate Forensics at Scale
    • Singularity Threat Intelligence
      Comprehensive Adversary Intelligence
    • Singularity Vulnerability Management
      Application & OS Vulnerability Management
    • Singularity Identity
      Identity Threat Detection and Response
    Cloud Security
    • Singularity Cloud Security
      Block Attacks with an AI-Powered CNAPP
    • Singularity Cloud Native Security
      Secure Cloud and Development Resources
    • Singularity Cloud Workload Security
      Real-Time Cloud Workload Protection Platform
    • Singularity Cloud Data Security
      AI-Powered Threat Detection for Cloud Storage
    • Singularity Cloud Security Posture Management
      Detect and Remediate Cloud Misconfigurations
    Securing AI
    • Prompt Security
      Secure AI Tools Across Your Enterprise
  • Why SentinelOne?
    Why SentinelOne?
    • Why SentinelOne?
      Cybersecurity Built for What’s Next
    • Our Customers
      Trusted by the World’s Leading Enterprises
    • Industry Recognition
      Tested and Proven by the Experts
    • About Us
      The Industry Leader in Autonomous Cybersecurity
    Compare SentinelOne
    • Arctic Wolf
    • Broadcom
    • CrowdStrike
    • Cybereason
    • Microsoft
    • Palo Alto Networks
    • Sophos
    • Splunk
    • Trellix
    • Trend Micro
    • Wiz
    Verticals
    • Energy
    • Federal Government
    • Finance
    • Healthcare
    • Higher Education
    • K-12 Education
    • Manufacturing
    • Retail
    • State and Local Government
  • Services
    Managed Services
    • Managed Services Overview
      Wayfinder Threat Detection & Response
    • Threat Hunting
      World-Class Expertise and Threat Intelligence
    • Managed Detection & Response
      24/7/365 Expert MDR Across Your Entire Environment
    • Incident Readiness & Response
      DFIR, Breach Readiness, & Compromise Assessments
    Support, Deployment, & Health
    • Technical Account Management
      Customer Success with Personalized Service
    • SentinelOne GO
      Guided Onboarding & Deployment Advisory
    • SentinelOne University
      Live and On-Demand Training
    • Services Overview
      Comprehensive Solutions for Seamless Security Operations
    • SentinelOne Community
      Community Login
  • Partners
    Our Network
    • MSSP Partners
      Succeed Faster with SentinelOne
    • Singularity Marketplace
      Extend the Power of S1 Technology
    • Cyber Risk Partners
      Enlist Pro Response and Advisory Teams
    • Technology Alliances
      Integrated, Enterprise-Scale Solutions
    • SentinelOne for AWS
      Hosted in AWS Regions Around the World
    • Channel Partners
      Deliver the Right Solutions, Together
    • SentinelOne for Google Cloud
      Unified, Autonomous Security Giving Defenders the Advantage at Global Scale
    • Partner Locator
      Your Go-to Source for Our Top Partners in Your Region
    Partner Portal→
  • Resources
    Resource Center
    • Case Studies
    • Data Sheets
    • eBooks
    • Reports
    • Videos
    • Webinars
    • Whitepapers
    • Events
    View All Resources→
    Blog
    • Feature Spotlight
    • For CISO/CIO
    • From the Front Lines
    • Identity
    • Cloud
    • macOS
    • SentinelOne Blog
    Blog→
    Tech Resources
    • SentinelLABS
    • Ransomware Anthology
    • Cybersecurity 101
  • About
    About SentinelOne
    • About SentinelOne
      The Industry Leader in Cybersecurity
    • Investor Relations
      Financial Information & Events
    • SentinelLABS
      Threat Research for the Modern Threat Hunter
    • Careers
      The Latest Job Opportunities
    • Press & News
      Company Announcements
    • Cybersecurity Blog
      The Latest Cybersecurity Threats, News, & More
    • FAQ
      Get Answers to Our Most Frequently Asked Questions
    • DataSet
      The Live Data Platform
    • S Foundation
      Securing a Safer Future for All
    • S Ventures
      Investing in the Next Generation of Security, Data and AI
  • Pricing
Get StartedContact Us
CVE Vulnerability Database
Vulnerability Database/CVE-2026-34161

CVE-2026-34161: Chamilo LMS Stored XSS Vulnerability

CVE-2026-34161 is a stored XSS vulnerability in Chamilo LMS that allows attackers to upload malicious HTML files and execute JavaScript. This post covers technical details, affected versions, and mitigation steps.

Published: April 17, 2026

CVE-2026-34161 Overview

CVE-2026-34161 is a Stored Cross-Site Scripting (XSS) vulnerability in Chamilo LMS, an open-source learning management system. The vulnerability exists in the social post attachment upload functionality, where an authenticated user can upload a malicious HTML file containing JavaScript via the /api/social_post_attachments endpoint. The uploaded file is served back from the application at the generated contentUrl without sanitization, content type restrictions, or a Content-Disposition: attachment header, causing the JavaScript to execute in the browser within the application's origin.

Critical Impact

Because the payload is stored server-side and runs in the trusted origin, an attacker can perform session hijacking, account takeover, privilege escalation (if an admin views the link), and arbitrary actions on behalf of the victim.

Affected Products

  • Chamilo LMS versions prior to 2.0.0-RC.3

Discovery Timeline

  • April 14, 2026 - CVE-2026-34161 published to NVD
  • April 14, 2026 - Last updated in NVD database

Technical Details for CVE-2026-34161

Vulnerability Analysis

This vulnerability is classified under CWE-79 (Improper Neutralization of Input During Web Page Generation). The flaw resides in the file upload mechanism for social post attachments, which fails to properly validate or restrict the types of files that can be uploaded and subsequently served to users.

When an authenticated user uploads a file via the /api/social_post_attachments endpoint, the application does not enforce content type restrictions for uploaded files. More critically, when these files are served back to users, the application fails to include appropriate security headers that would prevent browser interpretation of malicious content. The absence of the Content-Disposition: attachment header and proper content type validation allows the browser to render HTML files with embedded JavaScript within the application's trusted origin.

Root Cause

The root cause of this vulnerability is the lack of proper file type validation and sanitization in the file upload functionality. The application accepted arbitrary file types without restriction, and when serving these files back to users, it did not sanitize the content or enforce safe content delivery headers. This allowed attackers to upload HTML files containing malicious JavaScript that would execute when viewed by other users.

Attack Vector

An attacker with valid credentials to the Chamilo LMS platform can exploit this vulnerability by uploading a specially crafted HTML file containing malicious JavaScript through the social post attachment feature. When another user—particularly an administrator—views or accesses the uploaded content, the JavaScript executes within the context of the application's origin, enabling the attacker to steal session cookies, perform actions on behalf of the victim, or escalate privileges.

The fix introduced proper file type restrictions, limiting uploads to images and videos only:

text
     </p>
     <input
       ref="inputFile"
-      :accept="acceptFileType"
+      :accept="accept"
       class="hidden"
       type="file"
     />

Source: GitHub Commit

Additionally, stricter MIME type validation was implemented in the Vue components:

text
 
         <BaseFileUpload
           :label="t('Add a picture')"
-          accept="image"
+          accept="image/*"
           size="small"
           @file-selected="selectedFile = $event"
         />
 
         <div class="p-field mt-2">
-          <label for="groupPermissions">{{ t('Group permissions') }}</label>
+          <label for="groupPermissions">{{ t("Group permissions") }}</label>
           <Dropdown
             id="groupPermissions"
             v-model="editGroupForm.permissions"

Source: GitHub Commit

The patch also includes SVG sanitization to prevent XSS through SVG files:

php
         // This covers files uploaded before the MIME-type allowlist was introduced.
         $isSocialAttachment = 'social_post_attachments' === (string) $request->attributes->get('type');
 
+        // SVG: sanitize before serving in any mode (view or download).
+        // Glide is raster-only and cannot process SVG; sanitization strips embedded scripts regardless of how the file was stored.
+        if ('image/svg+xml' === $mimeType) {
+            $raw = $resourceNodeRepo->getResourceNodeFileContent($resourceNode, $resourceFile);
+            $content = (new SvgSanitizer())->sanitize((string) $raw);
+
+            if (false === $content || '' === $content) {
+                throw new BadRequestHttpException('Invalid SVG file');
+            }
+
+            $response = new Response($content);
+            $dispositionMode = 'download' === $mode
+                ? ResponseHeaderBag::DISPOSITION_ATTACHMENT
+                : ResponseHeaderBag::DISPOSITION_INLINE;
+            $disposition = $response->headers->makeDisposition($dispositionMode, $fileName);
+            $response->headers->set('Content-Disposition', $disposition);
+            $response->headers->set('Content-Type', 'image/svg+xml');
+            $response->headers->set('X-Content-Type-Options', 'nosniff');
+
+            return $response;
+        }
+
         switch ($mode) {
             case 'download':
                 $forceDownload = true;

Source: GitHub Commit

Detection Methods for CVE-2026-34161

Indicators of Compromise

  • Unusual file uploads to /api/social_post_attachments containing HTML, SVG, or other script-capable file types
  • Access logs showing requests to attachment URLs with suspicious .html or .svg file extensions
  • Unexpected session activity or privilege changes following user interactions with social post attachments
  • Web application firewall (WAF) alerts for JavaScript keywords in uploaded file content

Detection Strategies

  • Monitor HTTP POST requests to the /api/social_post_attachments endpoint for non-image/non-video MIME types
  • Implement content inspection rules to detect HTML tags and JavaScript within uploaded files
  • Review server-side logs for files being served without proper Content-Disposition headers
  • Deploy endpoint detection to identify anomalous browser behavior following attachment access

Monitoring Recommendations

  • Enable verbose logging for the Chamilo LMS file upload functionality
  • Configure alerts for administrative account access patterns that correlate with recent attachment views
  • Implement file integrity monitoring on the upload directory to detect suspicious file types
  • Monitor for sudden changes in user session tokens or authentication cookies

How to Mitigate CVE-2026-34161

Immediate Actions Required

  • Upgrade Chamilo LMS to version 2.0.0-RC.3 or later immediately
  • Audit existing uploaded attachments in the social post feature for malicious content
  • Review access logs to identify any potential exploitation attempts
  • Temporarily disable the social post attachment feature if immediate upgrade is not possible

Patch Information

Chamilo has addressed this vulnerability in version 2.0.0-RC.3. The fix implements proper file type restrictions, allowing only images and videos in social post attachments. Additionally, SVG files are now sanitized before being served to users, and appropriate security headers are enforced. For detailed information, refer to the GitHub Security Advisory GHSA-273p-jw9w-3g22 and the v2.0.0-RC.3 Release.

Workarounds

  • Configure web server rules to force Content-Disposition: attachment headers for all files in the upload directory
  • Implement a Web Application Firewall (WAF) rule to block uploads containing HTML or JavaScript content
  • Restrict file upload permissions to trusted users only until the patch can be applied
  • Consider serving user-uploaded content from a separate domain or subdomain to isolate the origin
bash
# Apache configuration to force download disposition for attachment files
<Directory "/path/to/chamilo/uploads/social_attachments">
    <FilesMatch "\.(html|htm|svg|xml)$">
        Header set Content-Disposition "attachment"
        Header set X-Content-Type-Options "nosniff"
    </FilesMatch>
</Directory>

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

  • Vulnerability Details
  • TypeXSS

  • Vendor/TechChamilo Lms

  • SeverityMEDIUM

  • CVSS Score5.1

  • EPSS Probability0.05%

  • Known ExploitedNo
  • CVSS Vector
  • CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
  • Impact Assessment
  • ConfidentialityLow
  • IntegrityLow
  • AvailabilityNone
  • CWE References
  • CWE-79
  • Technical References
  • GitHub Commit Update

  • GitHub Commit Update

  • GitHub Release v2.0.0-RC.3

  • GitHub Security Advisory GHSA-273p-jw9w-3g22
  • Related CVEs
  • CVE-2025-52482: Chamilo LMS Stored XSS Vulnerability

  • CVE-2025-52475: Chamilo LMS Reflected XSS Vulnerability

  • CVE-2026-33703: Chamilo LMS Information Disclosure Flaw

  • CVE-2026-33705: Chamilo LMS Information Disclosure Flaw
Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the World’s Most Advanced Cybersecurity Platform

See how our intelligent, autonomous cybersecurity platform can protect your organization now and into the future.

Try SentinelOne
  • Get Started
  • Get a Demo
  • Product Tour
  • Why SentinelOne
  • Pricing & Packaging
  • FAQ
  • Contact
  • Contact Us
  • Customer Support
  • SentinelOne Status
  • Language
  • Platform
  • Singularity Platform
  • Singularity Endpoint
  • Singularity Cloud
  • Singularity AI-SIEM
  • Singularity Identity
  • Singularity Marketplace
  • Purple AI
  • Services
  • Wayfinder TDR
  • SentinelOne GO
  • Technical Account Management
  • Support Services
  • Verticals
  • Energy
  • Federal Government
  • Finance
  • Healthcare
  • Higher Education
  • K-12 Education
  • Manufacturing
  • Retail
  • State and Local Government
  • Cybersecurity for SMB
  • Resources
  • Blog
  • Labs
  • Case Studies
  • Videos
  • Product Tours
  • Events
  • Cybersecurity 101
  • eBooks
  • Webinars
  • Whitepapers
  • Press
  • News
  • Ransomware Anthology
  • Company
  • About Us
  • Our Customers
  • Careers
  • Partners
  • Legal & Compliance
  • Security & Compliance
  • Investor Relations
  • S Foundation
  • S Ventures

©2026 SentinelOne, All Rights Reserved.

Privacy Notice Terms of Use

English