<?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, 06 Oct 2026 03:08:11 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-331017</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-331017</link>
      <description>EUVD-2026-331017</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-331017</guid>
    </item>
    <item>
      <title>fkie_cve-2026-33646</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-33646</link>
      <description>&lt;p&gt;mise manages dev tools like node, python, cmake, and terraform. Prior to 2026.3.10, mise processes .tool-versions files through the Tera template engine during parsing, with the exec() function registered, enabling arbitrary command execution. Unlike .mise.toml files, .tool-versions files are not subject to trust verification in non-paranoid mode. This means an attacker can place a malicious .tool-versions file in a git repository, and when a victim with mise activated cds into the directory, arbitrary commands execute without any trust prompt. This vulnerability is fixed in 2026.3.10.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;mise manages dev tools like node, python, cmake, and terraform. Prior to 2026.3.10, mise processes .tool-versions files through the Tera template engine during parsing, with the exec() function registered, enabling arbitrary command execution. Unlike .mise.toml files, .tool-versions files are not subject to trust verification in non-paranoid mode. This means an attacker can place a malicious .tool-versions file in a git repository, and when a victim with mise activated cds into the directory, arbitrary commands execute without any trust prompt. This vulnerability is fixed in 2026.3.10.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-33646</guid>
    </item>
    <item>
      <title>GHSA-fjj5-v948-whjj — Mise Vulnerable to Arbitrary Code Execution via Tera Templates in .tool-versions Files (Trust Bypass)</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-fjj5-v948-whjj</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: mise&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;Mise processes `.tool-versions` files through the Tera template engine during parsing, with the `exec()` function registered, enabling arbitrary command execution. Unlike `.mise.toml` files, `.tool-versions` files are **not subject to trust verification** in non-paranoid mode. This means an attacker can place a malicious `.tool-versions` file in a git repository, and when a victim with mise activated `cd`s into the directory, arbitrary commands execute without any trust prompt.&lt;/p&gt;
&lt;p&gt;## Vulnerability Details&lt;/p&gt;
&lt;p&gt;### Vulnerable Code&lt;/p&gt;
&lt;p&gt;**File:** `src/config/config_file/tool_versions.rs`, lines 60-63&lt;/p&gt;
&lt;p&gt;```rust
pub fn parse_str(s: &amp;amp;str, path: PathBuf) -&amp;gt; Result&amp;lt;Self&amp;gt; {
    let mut cf = Self::init(&amp;amp;path);
    let dir = path.parent();
    let s = get_tera(dir).render_str(s, &amp;amp;cf.context)?;  // &amp;lt;-- No trust check
    // ...
}
```&lt;/p&gt;
&lt;p&gt;**File:** `src/tera.rs`, lines 385-391&lt;/p&gt;
&lt;p&gt;```rust
pub fn get_tera(dir: Option&amp;lt;&amp;amp;Path&amp;gt;) -&amp;gt; Tera {
    let mut tera = TERA.clone();
    let dir = dir.map(PathBuf::from);
    tera.register_function(&amp;#34;exec&amp;#34;, tera_exec(dir.clone(), env::PRISTINE_ENV.clone()));
    tera.register_function(&amp;#34;read_file&amp;#34;, tera_read_file(dir));
    tera
}
```&lt;/p&gt;
&lt;p&gt;**File:** `src/tera.rs`, lines 394-452 -- `tera_exec` passes the `command` argument to a shell for execution with no restrictions.&lt;/p&gt;
&lt;p&gt;**File:** `src/config/config_file/mod.rs`, lines 272-287&lt;/p&gt;
&lt;p&gt;```rust
pub async fn parse(path: &amp;amp;Path) -&amp;gt; Result&amp;lt;Arc&amp;lt;dyn ConfigFile&amp;gt;&amp;gt; {
    if let Ok(settings) = Settings::try_get()
        &amp;amp;&amp;amp; settings.par…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: mise&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;Mise processes `.tool-versions` files through the Tera template engine during parsing, with the `exec()` function registered, enabling arbitrary command execution. Unlike `.mise.toml` files, `.tool-versions` files are **not subject to trust verification** in non-paranoid mode. This means an attacker can place a malicious `.tool-versions` file in a git repository, and when a victim with mise activated `cd`s into the directory, arbitrary commands execute without any trust prompt.&lt;/p&gt;
&lt;p&gt;## Vulnerability Details&lt;/p&gt;
&lt;p&gt;### Vulnerable Code&lt;/p&gt;
&lt;p&gt;**File:** `src/config/config_file/tool_versions.rs`, lines 60-63&lt;/p&gt;
&lt;p&gt;```rust
pub fn parse_str(s: &amp;amp;str, path: PathBuf) -&amp;gt; Result&amp;lt;Self&amp;gt; {
    let mut cf = Self::init(&amp;amp;path);
    let dir = path.parent();
    let s = get_tera(dir).render_str(s, &amp;amp;cf.context)?;  // &amp;lt;-- No trust check
    // ...
}
```&lt;/p&gt;
&lt;p&gt;**File:** `src/tera.rs`, lines 385-391&lt;/p&gt;
&lt;p&gt;```rust
pub fn get_tera(dir: Option&amp;lt;&amp;amp;Path&amp;gt;) -&amp;gt; Tera {
    let mut tera = TERA.clone();
    let dir = dir.map(PathBuf::from);
    tera.register_function(&amp;#34;exec&amp;#34;, tera_exec(dir.clone(), env::PRISTINE_ENV.clone()));
    tera.register_function(&amp;#34;read_file&amp;#34;, tera_read_file(dir));
    tera
}
```&lt;/p&gt;
&lt;p&gt;**File:** `src/tera.rs`, lines 394-452 -- `tera_exec` passes the `command` argument to a shell for execution with no restrictions.&lt;/p&gt;
&lt;p&gt;**File:** `src/config/config_file/mod.rs`, lines 272-287&lt;/p&gt;
&lt;p&gt;```rust
pub async fn parse(path: &amp;amp;Path) -&amp;gt; Result&amp;lt;Arc&amp;lt;dyn ConfigFile&amp;gt;&amp;gt; {
    if let Ok(settings) = Settings::try_get()
        &amp;amp;&amp;amp; settings.par…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-fjj5-v948-whjj</guid>
    </item>
  </channel>
</rss>
