CVE-2026-104890: Kunstmaan CMS Remote Code Execution Vulnerability
HIGHCVE-2026-104890 is a HIGH (CVSS 7.2) remote code execution vulnerability (CWE-434: Unrestricted Upload of File with Dangerous Type) affecting Kunstmaan CMS libraries in the Packagist ecosystem. The issue involves mediabundle extension blacklist bypass allows authenticated administrators to upload executable php files leading to remote code execution. Remediation is available by upgrading affected packages to version 7.3.2.
CVE-2026-104890 at a Glance
Security Impact
CVSS: 7.2
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H).
How to Fix CVE-2026-104890
To remediate this vulnerability, upgrade all affected Kunstmaan CMS dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
Upgrade kunstmaan/media-bundle to 7.3.2
Upgrade kunstmaan/bundles-cms to 7.3.2
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
inspect dependencies for kunstmaan/media-bundle
How to Check if You Are Affected
To determine whether your application is affected by CVE-2026-104890, inspect your project dependencies for Kunstmaan CMS:
inspect dependencies for kunstmaan/media-bundle
Analyze the terminal output to locate any version of Kunstmaan CMS in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 7.3.2), your application is affected.
Note: Verify declared build manifests and deployed runtime container environments.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-434: Unrestricted Upload of File with Dangerous Type, where the product allows the upload or transfer of dangerous file types that are automatically processed within its environment. In Kunstmaan CMS, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2026-104890 Affected Kunstmaan CMS Versions
2 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
kunstmaan/media-bundle
|
Packagist |
< 7.3.2
|
7.3.2
|
|
kunstmaan/bundles-cms
|
Packagist |
< 7.3.2
|
7.3.2
|
References
Frequently Asked Questions
What is CVE-2026-104890?
Which Kunstmaan CMS versions are affected?
What version fixes CVE-2026-104890?
Is kunstmaan/media-bundle affected?
Is kunstmaan/bundles-cms affected?
What is the CVSS score of CVE-2026-104890?
What CWE is associated with CVE-2026-104890?
How can I check Packagist dependencies for CVE-2026-104890?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-p279-5wcv-45vq",
"modified" : "2026-10-07T18:05:38Z",
"published" : "2026-10-07T18:05:38Z",
"aliases" : [ "CVE-2026-104890" ],
"summary" : "Kunstmaan CMS: MediaBundle extension blacklist bypass allows authenticated administrators to upload executable PHP files leading to remote code execution",
"details" : "### Summary\n\nThe MediaBundle blocks dangerous upload extensions with a blacklist that was matched\ncase-sensitively, while the stored filename was lowercased afterwards. A file uploaded\nas `webshell.pHp` therefore bypassed the blacklist and was written to the web-accessible\nupload directory as `webshell.php`, where the web server executed it. Any authenticated\nbackend user with access to the media section could obtain remote code execution.\n\n### Details\n\n`FileHandler::getFilePath()` rewrote blacklisted extensions to `.txt` using a\ncase-sensitive regex, and only then lowercased the extension when building the stored\nname — so the check ran against the attacker-controlled casing and the normalisation\nhappened after it.\n\nTwo further weaknesses contributed:\n\n* The default blacklist contained only `php` and `htaccess`, leaving other\n server-executable extensions (`phtml`, `php5`, `phar`, `shtml`, `cgi`, …) unblocked\n regardless of casing.\n* Configured blacklist values were interpolated into the regex unescaped.\n\n### Impact\n\nAn authenticated user with access to the admin media section can upload a file that the\nweb server executes as PHP. The uploaded file is reachable over HTTP without\nauthentication, giving arbitrary code execution as the web server user.\n\n### Patches\n\nFixed in kunstmaan/media-bundle 7.3.2. The extension is now normalised before it is\nchecked and compared with `in_array()`; the default blacklist is expanded to the full\nset of server-executable extensions; and a new opt-in `allowed_extensions` option allows\nprojects to enforce a strict allow-list.\n\nNote that the patch does not rename files already stored on disk. Sites should audit\ntheir media upload directory for existing files with an executable extension.\n\n### Workarounds\n\nIf you cannot upgrade, configure the web server to refuse to execute scripts in the\nmedia upload directory (for example a `location` block in nginx or `php_flag engine off`\nin Apache).",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "Packagist",
"name" : "kunstmaan/media-bundle"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "7.3.2"
} ]
} ]
}, {
"package" : {
"ecosystem" : "Packagist",
"name" : "kunstmaan/bundles-cms"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "7.3.2"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/Kunstmaan/KunstmaanBundlesCMS/security/advisories/GHSA-p279-5wcv-45vq"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-104890"
}, {
"type" : "WEB",
"url" : "https://github.com/Kunstmaan/KunstmaanBundlesCMS/commit/1bbdfdeac8e7e91506b1a9271360b9b68d7690d3"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/Kunstmaan/KunstmaanBundlesCMS"
}, {
"type" : "WEB",
"url" : "https://github.com/Kunstmaan/KunstmaanBundlesCMS/releases/tag/7.3.2"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-434" ],
"severity" : "HIGH",
"github_reviewed" : true,
"github_reviewed_at" : "2026-10-07T18:05:38Z",
"nvd_published_at" : "2026-10-05T16:17:06Z"
}
}