<?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>Juju — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/juju/</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>Sat, 04 Apr 2026 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/juju/feed.xml" rel="self" type="application/rss+xml"/><item><title>Juju Resource Poisoning Vulnerability Allows Unauthorized Resource Modification</title><link>https://feed.craftedsignal.io/briefs/2026-04-juju-resource-poisoning/</link><pubDate>Sat, 04 Apr 2026 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-juju-resource-poisoning/</guid><description>An authenticated user, machine, or controller within a Juju controller can modify application resources due to a lack of authorization checks, potentially leading to resource poisoning and privilege escalation by uploading malicious resources.</description><content:encoded><![CDATA[<p>A resource poisoning vulnerability exists within Juju, a cloud orchestration tool. Any authenticated user, machine, or controller operating under a Juju controller can exploit this vulnerability to modify the resources of an application within the entire controller. The vulnerability stems from insufficient authorization checks in the resource handler, allowing unauthorized PUT and GET requests. A compromised workload with machine credentials can modify OCI resources for other models in the controller, such as replacing a legitimate Docker image with a trojan horse version. This vulnerability affects Juju versions prior to the fix in commit 26ff93c903d5, specifically in the go/github.com/juju/juju package. This can have significant consequences, including privilege escalation and unauthorized access to sensitive information.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker gains initial access to a Juju controller as an authenticated user, machine, or controller. This could be via compromised credentials or a vulnerable workload already within the Juju environment.</li>
<li>The attacker identifies the target model UUID, application name, and resource name they wish to poison. This information can be obtained through enumeration within the Juju environment or by leveraging publicly available charm information from Charmhub.</li>
<li>The attacker crafts a malicious resource, such as a trojan horse Docker image, that has the same file extension as the original resource.</li>
<li>The attacker sends a PUT request to the resource handler endpoint <code>/:modeluuid/applications/:application/resources/:resources</code> with the malicious resource.</li>
<li>The Juju controller&rsquo;s resource handler, lacking proper authorization checks, accepts the malicious resource and overwrites the existing resource in its cache.</li>
<li>When the target application attempts to retrieve the resource, it receives the poisoned version from the controller&rsquo;s cache.</li>
<li>The poisoned resource is executed or deployed within the target application&rsquo;s environment, leading to compromise. In the case of a Docker image, this could lead to root access on the underlying system.</li>
<li>The attacker leverages the compromised application (e.g., a Kubernetes vault) to access sensitive information, such as vault secrets, and further expand their access within the environment.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This vulnerability allows an attacker to inject security vulnerabilities into other workloads managed by Juju. This can lead to privilege escalation, data breaches, and complete compromise of the Juju-managed environment. The most obvious impact is on deployments using OCI containers, where a malicious Docker image can grant an attacker execution escalation. In a Kubernetes environment managing vault secrets, an attacker could potentially gain root access to all vault secrets, seriously impacting the confidentiality and integrity of the data stored within. The specific impact depends on the type of resource poisoned and its role in the target application, but could be severe.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade Juju to a version containing the fix for CVE-2025-68153 to address the underlying vulnerability.</li>
<li>Implement additional authorization checks and access controls within the Juju environment to restrict resource modification to authorized users and processes.</li>
<li>Enable and review Juju API server logs (category: webserver, product: linux) for suspicious PUT requests to resource handler endpoints, looking for unexpected resource modifications.</li>
<li>Deploy the Sigma rule &ldquo;Detect Unauthorized Juju Resource Modification&rdquo; to your SIEM to detect unauthorized PUT requests to Juju resource endpoints.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>juju</category><category>resource-poisoning</category><category>privilege-escalation</category><category>cloud</category></item><item><title>Juju Controller Vulnerable to Unauthorized Database Access Due to Improper TLS Configuration</title><link>https://feed.craftedsignal.io/briefs/2026-04-juju-tls-vuln/</link><pubDate>Thu, 02 Apr 2026 00:03:36 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-juju-tls-vuln/</guid><description>Juju controller versions 3.2.0 up to 3.6.20 and 4.0.5 are vulnerable to unauthorized database access due to improper TLS client/server authentication and certificate verification, allowing an attacker with network access to modify all information, escalate privileges, and open firewall ports.</description><content:encoded><![CDATA[<p>Juju, a service orchestration tool, contains a critical vulnerability related to improper TLS configuration within its Dqlite database cluster. This vulnerability affects Juju controller versions 3.2.0 up to 3.6.20 and 4.0.5. The lack of client certificate checking and server certificate verification allows an attacker with network route-ability to the Juju controller&rsquo;s Dqlite cluster endpoint (port 17666) to join the cluster without proper authentication. This grants the attacker the ability to read and modify all information within the database, including sensitive user credentials and system configurations. Exploitation of this vulnerability enables privilege escalation, unauthorized access to resources, and potentially the ability to open firewall ports, leading to a complete compromise of the Juju controller and managed services. Patches are available in Juju versions 3.6.20 and 4.0.5.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker gains network access to the target Juju controller&rsquo;s Dqlite cluster endpoint, typically port 17666.</li>
<li>The attacker uses a tool like <code>dqlite-demo</code> or a custom-built application leveraging the go-dqlite library to attempt to join the Dqlite cluster.</li>
<li>Due to the missing client certificate verification, the attacker&rsquo;s connection is accepted without proper authentication.</li>
<li>The attacker switches to the <code>controller</code> database using the <code>.switch controller</code> command within the dqlite shell.</li>
<li>The attacker queries the <code>user</code> table to identify existing users and their associated privileges using <code>select * from user;</code>.</li>
<li>The attacker modifies the <code>display_name</code> of the <code>admin</code> user within the <code>user</code> table using an <code>update</code> SQL command, for example: <code>update user set display_name='Compromised Admin' where name='admin';</code>.</li>
<li>The attacker could further modify credentials, add new administrative users, or modify system configurations within the database.</li>
<li>The attacker leverages their unauthorized access to escalate privileges, compromise managed services, and potentially open firewall ports, gaining complete control over the Juju environment.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows an attacker to completely compromise the Juju controller. The attacker can read and modify all information within the Juju database, including user credentials, application configurations, and system settings. This can lead to the compromise of all applications and services managed by the Juju controller.  Privilege escalation allows the attacker to gain administrative control over the Juju environment. The ability to open firewall ports provides a pathway for lateral movement and further exploitation of the compromised network.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Immediately upgrade Juju controllers to versions 3.6.20 or 4.0.5 to apply the patches that address this vulnerability.</li>
<li>Implement restrictive firewall rules to limit access to port 17666 on Juju controllers, as recommended in the advisory. Ensure only other controller IP addresses can connect to this port.</li>
<li>Deploy the following Sigma rule to detect unauthorized connections to the Dqlite database (see Sigma rule below).</li>
<li>Monitor network connections to port 17666 for unexpected source IP addresses (see IOCs).</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>juju</category><category>dqlite</category><category>tls</category><category>vulnerability</category></item></channel></rss>