CVE-2025-0928

8.8 HIGH

📋 TL;DR

This vulnerability allows any authenticated Juju controller user to upload malicious agent binaries to any model or the controller itself, bypassing permission checks. This could lead to remote code execution on new or upgraded machines. All Juju deployments with versions prior to 3.6.8 or 2.9.52 are affected.

💻 Affected Systems

Products:
  • Juju
Versions: All versions prior to 3.6.8 and 2.9.52
Operating Systems: All platforms where Juju runs
Default Config Vulnerable: ⚠️ Yes
Notes: Requires authenticated access to Juju controller. All models and controllers in affected versions are vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full compromise of Juju-managed infrastructure through poisoned binaries leading to persistent backdoors, data exfiltration, and lateral movement across cloud environments.

🟠

Likely Case

Authenticated attackers with controller access distribute malicious binaries to specific models, gaining control over machines as they're provisioned or upgraded.

🟢

If Mitigated

With proper access controls and monitoring, impact is limited to unauthorized binary uploads that can be detected before deployment.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access but is straightforward once authentication is obtained. The vulnerability is in the binary upload mechanism itself.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.6.8 and 2.9.52

Vendor Advisory: https://github.com/juju/juju/security/advisories/GHSA-4vc8-wvhw-m5gv

Restart Required: Yes

Instructions:

1. Upgrade Juju controller to version 3.6.8 or 2.9.52. 2. Restart the Juju controller service. 3. Verify all models are using the patched version.

🔧 Temporary Workarounds

Restrict Controller Access

all

Limit Juju controller access to only trusted administrators using network controls and strict authentication.

Monitor Binary Uploads

all

Implement logging and alerting for agent binary upload operations to detect suspicious activity.

🧯 If You Can't Patch

  • Implement strict access controls to limit who can authenticate to Juju controller
  • Monitor all binary upload operations and investigate any unauthorized uploads immediately

🔍 How to Verify

Check if Vulnerable:

Check Juju controller version with 'juju version' command. If version is below 3.6.8 (for 3.x) or below 2.9.52 (for 2.x), the system is vulnerable.

Check Version:

juju version

Verify Fix Applied:

After upgrade, run 'juju version' to confirm version is 3.6.8 or higher (3.x) or 2.9.52 or higher (2.x). Test that authenticated users without model permissions cannot upload binaries.

📡 Detection & Monitoring

Log Indicators:

  • Unauthorized binary upload attempts
  • Agent binary uploads from non-admin users
  • Unexpected binary files in Juju storage

Network Indicators:

  • Unusual outbound connections from Juju-managed machines after provisioning
  • Binary downloads from unexpected sources during machine setup

SIEM Query:

source="juju-controller" AND (event="binary-upload" OR event="agent-download") AND user!="admin"

🔗 References

📤 Share & Export