---
id: "CVE-2026-115188"
kind: "vulnerability"
aliases: ["CVE-2026-115188"]
title: "Mautic: campaign import lets an authenticated user upload server-run scripts"
severity: "critical"
cvss: 9.9
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["apache", "docker", "mautic", "package", "php", "self-hosted"]
not_affected_if: ["default-config"]
published_at: "2026-10-26T14:16:30+00:00"
first_seen_at: "2026-10-26T14:30:36+00:00"
updated_at: "2026-10-26T14:32:00+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-115188", "first_seen_at": "2026-10-26T14:30:36+00:00"}]
---

# Mautic: campaign import lets an authenticated user upload server-run scripts

The Mautic 7 campaign import copies bundled asset files into a public media directory without checking file names or types. An authenticated user who can create campaign imports can place server-side scripts in the web root and run code as the web server user, reaching configuration, secrets and contact data.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Run `composer show mautic/core-lib` or check the Mautic version in the admin footer to see whether the install is `7.x`
- Check whether the media directory under the web root executes PHP, for example by looking for `.htaccess` rules that allow script execution in the media folder
- Review the web server and Docker image configuration for per-directory overrides (Apache `AllowOverride` set to allow `.htaccess`)

## Fix

- Upgrade Mautic to a fixed release; the fixed version is unknown from the sources
- Until patched, restrict campaign import permissions to trusted users only
- Block script execution in the Mautic media directory at the web server level
- Rotate Mautic secrets and database credentials if an untrusted user had import access

## Timeline

- 2026-10-26T14:30:36+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-115188

## From the sources

An unrestricted file upload vulnerability exists in the campaign import feature of Mautic 7. When processing an uploaded campaign archive, the application copies the bundled asset files into a publicly accessible media directory without restricting their file names or types. An authenticated user with permission to create campaign imports can exploit this through the user interface or the API (/api/campaigns/import) to place arbitrary files, including server-side scripts, in the web root. Administrator privileges are not required. On web servers that honor per-directory configuration, such as the default Apache setup of the official Mautic Docker image, this leads to remote code execution with the privileges of the web server user, including access to the Mautic configuration, application secrets, and contact data.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
