<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://cve.radiocsirt.org</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Tue, 13 Oct 2026 01:45:47 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-290500</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-290500</link>
      <description>EUVD-2026-290500</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-290500</guid>
    </item>
    <item>
      <title>fkie_cve-2026-39393</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-39393</link>
      <description>&lt;p&gt;CI4MS is a CodeIgniter 4-based CMS skeleton that delivers a production-ready, modular architecture with RBAC authorization and theme support. Prior to 0.31.4.0, the install route guard in ci4ms relies solely on a volatile cache check (cache(&amp;#39;settings&amp;#39;)) combined with .env file existence to block post-installation access to the setup wizard. When the database is temporarily unreachable during a cache miss (TTL expiry or admin-triggered cache clear), the guard fails open, allowing an unauthenticated attacker to overwrite the .env file with attacker-controlled database credentials, achieving full application takeover. This vulnerability is fixed in 0.31.4.0.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;CI4MS is a CodeIgniter 4-based CMS skeleton that delivers a production-ready, modular architecture with RBAC authorization and theme support. Prior to 0.31.4.0, the install route guard in ci4ms relies solely on a volatile cache check (cache(&amp;#39;settings&amp;#39;)) combined with .env file existence to block post-installation access to the setup wizard. When the database is temporarily unreachable during a cache miss (TTL expiry or admin-triggered cache clear), the guard fails open, allowing an unauthenticated attacker to overwrite the .env file with attacker-controlled database credentials, achieving full application takeover. This vulnerability is fixed in 0.31.4.0.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-39393</guid>
    </item>
    <item>
      <title>GHSA-8rh5-4mvx-xj7j — CI4MS Vulnerable to Post-Installation Re-entry via Cache-Dependent Install Guard Bypass</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-8rh5-4mvx-xj7j</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: ci4-cms-erp/ci4ms&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;The install route guard in ci4ms relies solely on a volatile cache check (`cache(&amp;#39;settings&amp;#39;)`) combined with `.env` file existence to block post-installation access to the setup wizard. When the database is temporarily unreachable during a cache miss (TTL expiry or admin-triggered cache clear), the guard fails open, allowing an unauthenticated attacker to overwrite the `.env` file with attacker-controlled database credentials, achieving full application takeover.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;The `InstallFilter::before()` method at `modules/Install/Filters/InstallFilter.php:13` implements the install guard:&lt;/p&gt;
&lt;p&gt;```php
public function before(RequestInterface $request, $arguments = null)
{
    if (file_exists(ROOTPATH . &amp;#39;.env&amp;#39;) &amp;amp;&amp;amp; !empty(cache(&amp;#39;settings&amp;#39;))) return show_404();
}
```&lt;/p&gt;
&lt;p&gt;This requires **both** conditions — `.env` existence AND non-empty cache — to block access. The cache population happens in `app/Config/Filters.php:128-151` during the Filters constructor, which runs before route-specific filters:&lt;/p&gt;
&lt;p&gt;```php
public function __construct()
{
    parent::__construct();
    if (is_file(ROOTPATH . &amp;#39;.env&amp;#39;)) {
        try {
            $this-&amp;gt;commonModel = new CommonModel();
            if (empty(cache(&amp;#39;settings&amp;#39;)) &amp;amp;&amp;amp; $this-&amp;gt;commonModel-&amp;gt;db-&amp;gt;tableExists(&amp;#39;settings&amp;#39;)) {
                $this-&amp;gt;settings = $this-&amp;gt;commonModel-&amp;gt;lists(&amp;#39;settings&amp;#39;);
                // ... populate cache ...
                cache()-&amp;gt;save(&amp;#39;settings&amp;#39;, $set, 86400); // 24h TTL
            }
        } catch (\Thro…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: ci4-cms-erp/ci4ms&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;The install route guard in ci4ms relies solely on a volatile cache check (`cache(&amp;#39;settings&amp;#39;)`) combined with `.env` file existence to block post-installation access to the setup wizard. When the database is temporarily unreachable during a cache miss (TTL expiry or admin-triggered cache clear), the guard fails open, allowing an unauthenticated attacker to overwrite the `.env` file with attacker-controlled database credentials, achieving full application takeover.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;The `InstallFilter::before()` method at `modules/Install/Filters/InstallFilter.php:13` implements the install guard:&lt;/p&gt;
&lt;p&gt;```php
public function before(RequestInterface $request, $arguments = null)
{
    if (file_exists(ROOTPATH . &amp;#39;.env&amp;#39;) &amp;amp;&amp;amp; !empty(cache(&amp;#39;settings&amp;#39;))) return show_404();
}
```&lt;/p&gt;
&lt;p&gt;This requires **both** conditions — `.env` existence AND non-empty cache — to block access. The cache population happens in `app/Config/Filters.php:128-151` during the Filters constructor, which runs before route-specific filters:&lt;/p&gt;
&lt;p&gt;```php
public function __construct()
{
    parent::__construct();
    if (is_file(ROOTPATH . &amp;#39;.env&amp;#39;)) {
        try {
            $this-&amp;gt;commonModel = new CommonModel();
            if (empty(cache(&amp;#39;settings&amp;#39;)) &amp;amp;&amp;amp; $this-&amp;gt;commonModel-&amp;gt;db-&amp;gt;tableExists(&amp;#39;settings&amp;#39;)) {
                $this-&amp;gt;settings = $this-&amp;gt;commonModel-&amp;gt;lists(&amp;#39;settings&amp;#39;);
                // ... populate cache ...
                cache()-&amp;gt;save(&amp;#39;settings&amp;#39;, $set, 86400); // 24h TTL
            }
        } catch (\Thro…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-8rh5-4mvx-xj7j</guid>
    </item>
  </channel>
</rss>
