Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to backend with media access
-
DeliveryUpload mixed-case 'shell.pHp' payload
-
ExploitBypass case-sensitive extension blacklist
-
ExecutionFile lowercased and stored in public media dir
-
PersistRequest uploaded file to trigger server execution
-
ImpactRemote code execution as web server
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V5 - File Handling File type validation, storage isolation
MITRE ATT&CK
2 techniques across 2 tactics: Command and Control, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a valid authenticated backend account that holds media-upload permission in Kunstmaan CMS prior to 7.3.2. Exploitation further depends on the default (or custom) blacklisted_extensions configuration still matching case-sensitively, and critically on the web server being configured to execute scripts (e.g. PHP) within the public/uploads/media/ directory - the vendor's recommended hardening of disabling script execution and sending X-Content-Type-Options: nosniff for that directory neutralizes the impact. Limiting factors: no anonymous access (credentials with the media role are mandatory), no code execution if the upload directory is served as static/non-executable content, and the mixed-case bypass path specifically targets the pre-7.3.2 handler logic. |
| Impact | This is a genuine but access-gated code-execution flaw rather than a mass-exploitation emergency. The provided CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H, base 7.2) correctly captures that exploitation is network-reachable with low complexity and no user interaction, but gated behind authentication (PR:H) - the description confirms this by requiring 'an authenticated backend user with media access.' Impact is full compromise (C:H/I:H/A:H) because a successful upload yields web-server code execution (CWE-434). No EPSS score, no CISA KEV listing, and no public POC were provided in the intelligence set, so there is no public exploit identified at time of analysis and no evidence of active exploitation. The practical risk hinges on how liberally media-upload roles are delegated: the input labels this PR:H, but the described 'media access' permission is often granted to ordinary content editors rather than administrators, so the real-world barrier may be closer to PR:L than PR:H - verify the privilege model against your role configuration. Overall this is a priority for any Kunstmaan deployment that grants backend media access to semi-trusted users, but not a drop-everything internet-wide threat given the authentication requirement and the niche product footprint. |
| Exploit ScenarioDerived | A content editor or other backend user who has been granted media-upload rights uploads a file named 'webshell.pHp'; the case-sensitive blacklist check fails to match the mixed-case extension, and the handler then lowercases it to 'webshell.php' and writes it into the web-accessible media directory. The attacker then requests that URL, and because the web server executes PHP in that directory, their code runs with web-server privileges. No public exploit code was identified, but the mechanism is fully documented in the vendor advisory and patch commit. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 05, 2026
Authenticated code execution via media upload in Kunstmaan CMS (KunstmaanBundlesCMS) before 7.3.2: the MediaBundle checks the file-extension blacklist case-sensitively but lowercases the extension before writing the file, so a backend user with media-upload rights can submit a file named e.g. webshell.pHp, slip past the blacklist, and have it stored as webshell.php inside the web-accessible media directory. Impact escalates to full remote code execution, but only where the web server is configured to execute scripts in public/uploads/media/ - the vendor's hardening guidance (disable script execution for that path, send X-Content-Type-Options: nosniff) removes the execution impact. No public exploit code or confirmed in-the-wild exploitation was identified at time of analysis, and the flaw is gated behind a valid media-role account (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, 7.2).
RemediationAI
Vendor-released patch: 7.3.2 (https://github.com/Kunstmaan/KunstmaanBundlesCMS/releases/tag/7.3.2), which fixes the check-order flaw and expands the default blacklist; the underlying change is commit 1bbdfdeac8e7e91506b1a9271360b9b68d7690d3 and details are in advisory GHSA-p279-5wcv-45vq. If immediate upgrading is not possible, apply the equivalent configuration-level mitigations: set kunstmaan_media.blacklisted_extensions explicitly to the full executables set (php, php3, php4, php5, php6, php7, php8, phps, phpt, pht, phtm, phtml, phar, inc, htaccess, htpasswd, htgroup, shtml, shtm, cgi, pl, py, rb, sh, asp, aspx, ashx, asmx, ascx, jsp, jspx, cfm, cfml), recognising that on an unpatched version matching remains case-sensitive and can still be bypassed via mixed case - so this is only a partial control. The decisive compensating control is at the web-server layer: disable script execution inside public/uploads/media/ (e.g. remove the PHP handler / use a static-only location block for that path) and send X-Content-Type-Options: nosniff, which neutralises the code-execution impact even if a malicious file lands on disk; the trade-off is that any legitimate dynamically served content in that directory will stop working. After patching, consider enabling the new opt-in allowed_extensions allow-list (e.g. jpg, jpeg, png, gif, webp, pdf, docx, zip), which acts as a strict allow-list with the blacklist still applied on top; note that svg and html remain permitted by default and are same-origin stored-XSS vectors, so add them to the blacklist or exclude them via the allow-list if the project does not need them. Finally, review existing files under public/uploads/media/ for lowercase extensions that were uploaded as mixed case, and audit backend accounts holding the media-upload permission, since exploitation requires such an authenticated account.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 5 packages in composer, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Kunstmaan CMS is an open source CMS built on the Symfony framework, and the affected component is the MediaBundle's FileHandler (src/Kunstmaan/MediaBundle/Helper/File/FileHandler.php). The weakness class is CWE-434 (Unrestricted Upload of File with Dangerous Type). In versions prior to 7.3.2, FileHandler::getFilePath applied the configurable blacklisted_extensions setting with a case-sensitive regular expression match, but then normalised the filename by calling strtolower() on the extension before persisting it. That ordering mismatch - case-sensitive validate, case-insensitive store - is the root cause: a mixed-case extension such as .pHp, .PHP5 or .PHTML is not matched by the blacklist check yet is written to disk with a lowercase, server-recognisable extension. The second half of the problem is that the default blacklist was minimal, containing only php and htaccess, so many other server-executable extensions (phtml, php5, phar, phps, shtml, cgi, pl, asp, jsp, cfm and others) were never on the list at all. The upstream fix (commit 1bbdfdeac8e7e91506b1a9271360b9b68d7690d3, released in 7.3.2) normalises the extension before evaluation, makes the blacklist match case-insensitively, expands the default blacklist to the full common-executable set, and introduces an opt-in strict allowed_extensions allow-list that is applied on top of the blacklist. Symfony's slugifier is also used on the base filename. The CPE data identifies the three package names under which the code ships: kunstmaan:kunstmaanbundlescms, kunstmaan:bundles-cms, and kunstmaan:media-bundle, all matched in the wildcard-fixed version range '*' since it is the version-less application component.
Know when PHP 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
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Media-upload is a delegable backend editor role, so PR:L rather than PR:H; network-reachable upload form with no interaction (AV:N/AC:L/UI:N) and RCE yields C/I/A:H.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Kunstmaan CMS is an open source content management system based on the Symfony framework. Prior to 7.3.2, src/Kunstmaan/MediaBundle/Helper/File/FileHandler.php performs the blacklisted_extensions check case-sensitively in FileHandler::getFilePath and lowercases the stored extension afterward. An authenticated backend user with media access can upload a mixed-case executable extension such as PHP that bypasses the check and is stored in the web-accessible media directory with an executable lowercase extension. The default blacklist also omits several server-executable extension types, allowing the same code-execution impact where the web server executes uploaded files. This issue is fixed in version 7.3.2.
Technical POC Analysis
CWE-434 (Unrestricted Upload of File with Dangerous Type), in the Kunstmaan MediaBundle file-handling helper FileHandler::getFilePath() (src/Kunstmaan/MediaBundle/Helper/File/FileHandler.php).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Kunstmaan CMS deployments running versions before 7.3.2 are exposed to an authenticated code-execution flaw in the MediaBundle, where a user holding media-upload rights can bypass the file-extension blacklist by varying filename casing and place an executable script into the publicly served media directory. Any organization running this CMS with backend content or marketing staff who have upload permissions is affected, and on servers configured to execute scripts from the upload path the consequence is full remote code execution on the host, carrying complete confidentiality, integrity, and availability impact. Leadership should treat this as a high-priority platform hardening item because the primary control is a fixed configuration posture rather than a missing vendor patch.
No vendor-released patch identified at time of analysis; interim mitigations per the vendor's hardening guidance are to disable script execution for public/uploads/media/ and send X-Content-Type-Options: nosniff, coupled with restricting media-upload privileges to the minimum necessary accounts and monitoring that directory for unexpected executable files.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Malicious file upload attacks exploit insufficient validation when web applications accept user-provided files.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
EUVD-2026-92446
GHSA-p279-5wcv-45vq
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB