VORANT. Threat Intelligence Research Create a free account

Bludit CMS has three vulnerabilities

Published Vorant ratingelevated vulnerability

Vorant's rating weighs the evidence in the report: confirmed exploitation, victims claimed, CVSS and EPSS, and how many sources agree. It rates the report, not your assets.

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

Sourcecert.pl — open the original

What to check

Applies to
The 3 CVEs named below. Whether you run an affected version is not assessed: check the versions the source lists.
Exploitation
A public exploit is recorded for CVE-2026-25099 (poc); no exploitation in the wild is recorded.

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-25099pocCVE-2026-25100CVE-2026-25101

Detection guidance

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

ATT&CK T1190 · status experimental · needs webserver logs · generated from the report, not run against telemetry

A behavioural hunt for the technique in general, not a signature for the CVEs this report names.

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.

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 · status experimental · needs linux process_creation logs · generated from the report, not run against telemetry

A behavioural hunt for the technique in general, not a signature for the CVEs this report names.

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.

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 · status experimental · needs linux file_event logs · generated from the report, not run against telemetry

A behavioural hunt for the technique in general, not a signature for the CVEs this report names.

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.

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

Free public brief. The detections with Splunk SPL already written (plus Elastic and KQL where they apply) are in the app with a free account, no card. Slack alerts on the vendors you run come with the paid plans, and a new account gets three days of them.

What this brief leaves out

This page is the free tier: the write-up, the severity, the names. In the app the same report carries its detections (Splunk SPL already written, plus Elastic and Microsoft KQL where they apply) and live profiles of the CVEs it names. The paid plans add the security research and news reporting the free tier leaves out.

It sits in a corpus of 16,433 reports from 149 sources, 661 of them written in the last seven days, and it grows through the day.

A new account starts with three days of all of it, no card, then keeps the government and CERT reporting free. Slack alerts are a paid-plan feature: name the vendors you run and Slack hears about the reports that touch them, not the rest of the week's. Nothing is charged unless you subscribe.

Create a free account   What it costs