CVE-2025-68152: Juju: Read All Controller Logs From Compromised Workload
Summary It is possible that a compromised workload machine under a Juju controller can read any log file for any entity in any model at any level.
There is a debug log endpoint in the API server that allows streaming of logs off of the controller. To access this endpoint you must be authentication and either be a machine agent, controller agent, controller admin or have model read permission.
The problematic is the machine agent story. The rest of the other checks have a high enough degree of safety that an attacker can not move side ways in the controller when obtaining log files.
Details A compromised workload machine is capable of obtaining logs for both the controller and any model under the controller at any log level they wish. A bad actor can use this information as signal for further attacks or possible gain secret information leaked out in debug and trace logs. On top of this they would also be able to receive the logs from the charm itself for which we have no control over.
- here is where the authorizer is defined for the endpoint. - here is where the authorizer is checked. - here and onwards is the amount of information the attacker can gain access to.
PoC
If an attacker compromises a workload machine, they will have access to the agent.conf file containing the credentials. This can then be used to obtain debug logs for any part of the controller.
Other sources
Juju is an open source application orchestration engine that enables any application operation on any infrastructure at any scale through special operators called ‘charms’. From versions 2.9 to before 2.9.56 and 3.6 to before 3.6.19, it is possible that a compromised workload machine under a Juju controller can read any log file for any entity in any model at any level. This issue has been patched in versions 2.9.56 and 3.6.19.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
go/github.com/juju/jujuto a version that resolves this vulnerability.Fixed in 0.0.0-20250623030540-c91a1f404695 - Upgrade
Upgrade
jujuto a version that resolves this vulnerability.Fixed in 2.9.56 - Upgrade
Upgrade
jujuto a version that resolves this vulnerability.Fixed in 3.6.19 - Compensating control
Ensure only authenticated users with the required permissions can access the API server debug log streaming endpoint (authenticated and one of: machine agent, controller agent, controller admin, or model read permission).