<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Ci4-Cms-Erp/Ci4ms — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/ci4-cms-erp/ci4ms/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 22 Apr 2026 17:28:39 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/ci4-cms-erp/ci4ms/feed.xml" rel="self" type="application/rss+xml"/><item><title>CI4MS Backup Restore Zip Slip Vulnerability Leads to RCE</title><link>https://feed.craftedsignal.io/briefs/2024-01-09-ci4ms-zip-slip/</link><pubDate>Wed, 22 Apr 2026 17:28:39 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-09-ci4ms-zip-slip/</guid><description>The CI4MS Backup restore function is vulnerable to Zip Slip, allowing remote code execution by uploading a malicious ZIP archive that writes PHP files to the public web root due to missing validation of entry names during extraction, affecting versions prior to 0.31.5.0.</description><content:encoded><![CDATA[<p>A Zip Slip vulnerability exists in the CI4MS backup restore functionality. Authenticated users with backup creation permissions can exploit this by uploading a specially crafted ZIP archive. The vulnerability lies in the <code>Backup::restore</code> function (modules/Backup/Controllers/Backup.php), where the application extracts the uploaded ZIP without proper validation of the entry names. This allows an attacker to write files to arbitrary locations, including the public web root, leading to remote code execution (RCE). This vulnerability affects CI4MS versions prior to 0.31.5.0. By crafting a ZIP file with malicious paths, attackers can bypass intended directory restrictions.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An authenticated user with <code>create</code> role accesses the vulnerable <code>/backend/backup/restore</code> endpoint.</li>
<li>The attacker crafts a malicious ZIP archive containing a PHP file (e.g., <code>shell.php</code>) with a path traversing outside the intended extraction directory (e.g., <code>../../public/shell.php</code>).</li>
<li>The attacker uploads the malicious ZIP archive via the <code>backup_file</code> parameter in a POST request.</li>
<li>The server moves the uploaded ZIP file to <code>WRITEPATH . 'uploads/'</code> without sanitizing or validating the ZIP entry names.</li>
<li>The <code>ZipArchive::extractTo()</code> function is called on the uploaded ZIP, extracting the malicious file to the specified path <code>../../public/shell.php</code>.</li>
<li>The PHP file is written to the web root, allowing for remote code execution.</li>
<li>The attacker triggers the injected PHP code by sending a request to <code>/shell.php?c=id</code>, executing arbitrary commands on the server.</li>
<li>The attacker gains complete control over the compromised server, including access to sensitive data and the ability to further compromise the network.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows an attacker to achieve remote code execution (RCE) on the CI4MS server. This can lead to full compromise of the installation, including the database credentials stored in <code>.env</code> and any other sensitive data handled by the site. Because the affected route is in the <code>csrfExcept</code> list, this vulnerability can be triggered cross-site against a logged-in administrator, potentially leading to drive-by RCE against site operators. The vulnerability affects versions of <code>composer/ci4-cms-erp/ci4ms</code> prior to <code>0.31.5.0</code>.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade <code>composer/ci4-cms-erp/ci4ms</code> to version 0.31.5.0 or later to patch the vulnerability as described in GHSA-xp9f-pvvc-57p4.</li>
<li>Implement server-side validation of uploaded ZIP archive entry names to prevent path traversal vulnerabilities. Specifically, validate the file paths extracted from the ZIP archive before calling <code>extractTo()</code>.</li>
<li>Deploy the Sigma rule <code>Detect CI4MS Zip Slip via Web Request</code> to identify potential exploitation attempts by monitoring HTTP requests to the vulnerable endpoint.</li>
<li>Enable web server logging and monitor for suspicious file creations, especially in web-accessible directories, after ZIP archive uploads, based on the attack chain described above.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>zip-slip</category><category>rce</category><category>code-injection</category><category>vulnerability</category></item><item><title>CI4MS Authenticated Remote Code Execution via Theme Upload</title><link>https://feed.craftedsignal.io/briefs/2024-01-30-ci4ms-rce/</link><pubDate>Tue, 30 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-30-ci4ms-rce/</guid><description>CI4MS versions 0.26.0.0 through 0.31.6.0 are vulnerable to remote code execution; an authenticated backend user with theme upload permissions can upload a crafted ZIP file containing a PHP file, which is then installed into the web-accessible public directory without filtering, allowing direct execution via HTTP.</description><content:encoded><![CDATA[<p>CI4MS versions 0.26.0.0 through 0.31.6.0 are vulnerable to authenticated remote code execution. The vulnerability lies in the theme upload feature, where any authenticated backend user with theme-upload permissions can upload a crafted ZIP file. PHP files included in the uploaded ZIP are installed into a web-accessible directory without extension or content filtering. This allows attackers to execute arbitrary PHP code on the server by directly accessing the uploaded files via HTTP requests. The vulnerability was reported on April 29, 2026 and can lead to full server compromise if exploited.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains valid credentials for a backend user account with theme upload permissions.</li>
<li>The attacker crafts a malicious ZIP archive containing a PHP file (e.g., shell.php) with code to execute system commands via a GET parameter.</li>
<li>The attacker uploads the malicious ZIP file (e.g., evil_theme.zip) through the /backend/themes/upload endpoint using a POST request with multipart/form-data.</li>
<li>The application extracts the ZIP archive to a temporary directory.</li>
<li>The application copies the PHP file from the temporary directory to the public/templates/evil/ directory using the rename() function, with no file type validation or content inspection.</li>
<li>The attacker crafts an HTTP GET request targeting the uploaded PHP file (e.g., /templates/evil/shell.php?c=id).</li>
<li>The web server executes the PHP code, running the system command specified in the &lsquo;c&rsquo; parameter.</li>
<li>The output of the executed command is returned in the HTTP response, granting the attacker remote code execution.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows the attacker to execute arbitrary PHP code on the server under the context of the web server user. This can be leveraged to achieve OS-level command execution, potentially leading to data exfiltration, lateral movement, persistence, or full server compromise. Any deployment where a backend user has been granted theme upload permission is vulnerable. While a superadmin already has full privileges, this vulnerability allows lower-privileged roles to escalate their access.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply the necessary patch or upgrade to a version of CI4MS beyond 0.31.6.0 to remediate CVE-2026-41587.</li>
<li>Monitor web server logs for suspicious HTTP requests targeting newly created directories under <code>/templates/</code> with PHP file extensions to detect potential exploitation attempts. Create a rule to detect this.</li>
<li>Implement stricter file upload validation, including file extension allowlists, MIME type checking, and content inspection, to prevent the upload of malicious PHP files.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>code-execution</category><category>web-application</category><category>php</category></item><item><title>CI4MS Theme Upload Zip Slip Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2024-01-02-ci4ms-zip-slip/</link><pubDate>Tue, 02 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-02-ci4ms-zip-slip/</guid><description>A critical vulnerability exists in ci4ms Theme::upload, where improper validation of ZIP archive entry names allows authenticated users with theme creation permissions to write files to arbitrary locations, leading to remote code execution.</description><content:encoded><![CDATA[<p>The ci4ms application is vulnerable to a Zip Slip attack in its theme upload functionality. This vulnerability, present in versions prior to 0.31.5.0, allows an authenticated backend user with theme creation privileges to upload a specially crafted ZIP archive. Due to the lack of proper validation of entry names during extraction, the attacker can write files to arbitrary locations on the filesystem. This is achieved by including malicious path traversal sequences (e.g., <code>../../</code>) in the ZIP archive&rsquo;s entry names. The vulnerability allows an attacker to place a PHP webshell in the public web root, enabling remote code execution on the server. This issue poses a significant risk to organizations using ci4ms, as it allows attackers to fully compromise the installation and access sensitive data.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker authenticates to the ci4ms backend with an account possessing the theme <code>create</code> role.</li>
<li>The attacker crafts a malicious ZIP archive containing a PHP webshell (e.g., <code>shell.php</code>) and an <code>info.xml</code> file for theme validation. The webshell is placed with a path traversal sequence, such as <code>../../public/shell.php</code>.</li>
<li>The attacker navigates to the theme upload functionality within the ci4ms backend, accessible via the <code>backend/themes/themesUpload</code> route.</li>
<li>The attacker uploads the malicious ZIP archive through the web interface, triggering the <code>Theme::upload</code> function.</li>
<li>The <code>ZipArchive::extractTo()</code> function extracts the contents of the ZIP archive to a temporary directory (<code>WRITEPATH . 'tmp/' . str_replace('_theme.zip', '', $file-&gt;getName()) . '/'</code>) without validating entry names.</li>
<li>Due to the path traversal sequences in the ZIP archive, the PHP webshell is written to the web server&rsquo;s document root (e.g., <code>/var/www/html/public/shell.php</code>).</li>
<li>The attacker accesses the PHP webshell via a web browser or command-line tool like <code>curl</code>, passing commands to be executed on the server (e.g., <code>https://target.example.com/shell.php?c=id</code>).</li>
<li>The webserver executes the attacker-supplied command, granting the attacker remote code execution on the compromised system.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this Zip Slip vulnerability allows an attacker to gain remote code execution on the ci4ms server. This grants the attacker full control over the server, potentially leading to the exfiltration of sensitive data, including database credentials stored in the <code>.env</code> file. The attacker can also modify or delete website content, install malware, or use the compromised server as a launching point for further attacks. This vulnerability affects versions of ci4ms prior to 0.31.5.0, and impacts any installation where an attacker can obtain theme creation privileges.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade ci4ms to version 0.31.5.0 or later to patch CVE-2026-41203.</li>
<li>Deploy the Sigma rule <code>Detect CI4MS Webshell Upload via Theme Exploit</code> to detect attempts to upload malicious themes containing webshells.</li>
<li>Implement input validation and sanitization measures to prevent path traversal attacks in file upload functionalities.</li>
<li>Restrict theme creation privileges to only trusted administrators and monitor theme creation activity for suspicious behavior.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>zip-slip</category><category>rce</category><category>codeigniter</category><category>vulnerability</category></item></channel></rss>