# Bludit CMS has three vulnerabilities

Published: 2026-03-27 · Severity: high
Canonical: https://vorant.io/reports/2372919b-5451-4165-a2bf-15e89cc0eb77/bludit-cms-has-three-vulnerabilities

> Bludit CMS has three vulnerabilities: unrestricted file upload (CVE-2026-25099), stored XSS via SVG (CVE-2026-25100), and session fixation (CVE-2026-25101).

CERT Polska coordinated the disclosure of three vulnerabilities in Bludit, an open-source content management system. The most severe is CVE-2026-25099, an unrestricted file upload vulnerability in Bludit's API plugin that allows authenticated attackers with valid API tokens to upload and execute arbitrary files, achieving remote code execution. This was fixed in version 3.18.4.

CVE-2026-25100 is a stored cross-site scripting vulnerability in the image upload functionality. Authenticated users with content upload privileges can upload malicious SVG files that execute JavaScript when victims access the resource URL. Notably, the uploaded resources are accessible without authentication, expanding the attack surface. The vendor ceased communication during coordination, leaving all versions up to 3.18.2 vulnerable with uncertain status for future releases.

CVE-2026-25101 is a session fixation vulnerability where Bludit allows session identifiers to be set pre-authentication and persist post-authentication, enabling attackers to hijack authenticated sessions. This was patched in version 3.17.2. The vulnerabilities were responsibly disclosed by security researcher Arkadiusz Marta.

## Mentioned in this report

- Vulnerabilities: CVE-2026-25099 (poc), CVE-2026-25100, CVE-2026-25101

## Detection guidance (public sample)

### Bludit API Plugin Arbitrary File Upload Attempt (CVE-2026-25099)

ATT&CK: T1190

Detects HTTP POST requests to Bludit's API plugin upload endpoint containing executable script file extensions, indicative of the unrestricted file upload RCE vulnerability. Auto-generated starting point — validate and tune in your environment before deploying. IOC matches can false-positive on shared infrastructure and decay as adversary infrastructure rotates.

```yaml
title: Bludit API Plugin Arbitrary File Upload Attempt (CVE-2026-25099)
id: 1df71c6f-137a-562c-891c-be40dbb5ac79
status: experimental
description: Detects HTTP requests to Bludit's API plugin upload/content endpoints
  where the uploaded filename has a server-executable extension (php, phtml, pht,
  php5, cgi), consistent with the unrestricted file upload vulnerability that leads
  to remote code execution.
references:
- CVE-2026-25099
author: Vorant
logsource:
  category: webserver
detection:
  selection:
    cs-method: POST
    cs-uri-stem|contains:
    - /bl-plugins/api
    - /bl-kernel/ajax
    - /api/
  suspicious_ext:
    cs-uri-query|contains:
    - .php
    - .phtml
    - .pht
    - .php5
    - .cgi
  condition: selection and suspicious_ext
falsepositives:
- Legitimate plugin management or content uploads that legitimately reference php-related
  filenames in query strings (rare)
- Automated vulnerability scanning of the same endpoint
level: high
tags:
- attack.t1190
- attack.t1505.003
- cve.2026.25099
```

### Web Server Process Spawning Shell After Bludit Upload (Possible Webshell Execution)

ATT&CK: T1505.003

Detects a web server or PHP-FPM process spawning a command shell, indicating execution of an uploaded webshell following exploitation of the Bludit file upload vulnerability. Auto-generated starting point — validate and tune in your environment before deploying. IOC matches can false-positive on shared infrastructure and decay as adversary infrastructure rotates.

```yaml
title: Web Server Process Spawning Shell After Bludit Upload
id: 0344c884-3485-5d21-a4c1-387a4bb5efb5
status: experimental
description: Detects command shell or scripting interpreter processes spawned by common
  web server / PHP process names, which is a strong indicator of webshell execution
  after an arbitrary file upload such as CVE-2026-25099 against Bludit CMS.
references:
- CVE-2026-25099
author: Vorant
logsource:
  category: process_creation
  product: linux
detection:
  selection:
    ParentImage|endswith:
    - /apache2
    - /httpd
    - /nginx
    - /php-fpm
    - /php
    Image|endswith:
    - /sh
    - /bash
    - /dash
    - /curl
    - /wget
    - /python
    - /perl
  filter:
    CommandLine|contains:
    - -v
    - --version
  condition: selection and not filter
falsepositives:
- Legitimate server-side scripts invoking system utilities for maintenance tasks (e.g.,
  log rotation, cron helpers) that intentionally shell out from the web server user
  context
- CMS plugins that legitimately call external binaries such as image converters
level: high
tags:
- attack.t1505.003
- attack.t1059
- cve.2026.25099
```

### Suspicious Script File Written to Bludit Uploads Directory

ATT&CK: T1505.003

Detects creation of executable script files (php, phtml, pht) within Bludit's upload/content directory, consistent with dropping a webshell via the unrestricted file upload vulnerability. Auto-generated starting point — validate and tune in your environment before deploying. IOC matches can false-positive on shared infrastructure and decay as adversary infrastructure rotates.

```yaml
title: Suspicious Script File Written to Bludit Uploads Directory
id: 38898d66-9eb4-5def-856e-a91f434f6122
status: experimental
description: Detects creation of files with server-executable extensions inside typical
  Bludit content/upload directories, which may indicate successful exploitation of
  the unrestricted file upload vulnerability (CVE-2026-25099) and webshell placement.
references:
- CVE-2026-25099
author: Vorant
logsource:
  category: file_event
  product: linux
detection:
  selection:
    TargetFilename|contains:
    - bl-content/uploads
    - bl-content/tmp
    TargetFilename|endswith:
    - .php
    - .phtml
    - .pht
    - .php5
  condition: selection
falsepositives:
- Legitimate administrators intentionally placing PHP scripts in the uploads directory
  for customization (uncommon and should be validated)
level: high
tags:
- attack.t1505.003
- attack.t1190
- cve.2026.25099
```

Behavioural rules are generated from public reporting — validate in your environment before deploying.

Source reporting: https://cert.pl/en/posts/2026/03/CVE-2026-25099

---

This is the free public brief from Vorant Threat Intelligence. When citing, attribute "Vorant" and link https://vorant.io/reports/2372919b-5451-4165-a2bf-15e89cc0eb77/bludit-cms-has-three-vulnerabilities.
Full IOC sets, deployable detections, the entity graph, TAXII 2.1 feed and real-time alerts: https://vorant.io/signup
