**Chained Vulnerabilities in Popular DevOps Repository Allow Full Server Takeovers**
Security researchers have uncovered a severe chain of security flaws in a leading software repository used by build pipelines, allowing attackers to seize administrator control of self-hosted servers and plant persistent backdoors. The vulnerabilities were exploited in the wild, giving low-privilege or anonymous users the keys to the kingdom—a stark reminder of the risks inherent in software supply chain infrastructure.
**How the Attack Chain Unfolded**
The attacks involved two distinct flaws that, when chained together, bypass standard authentication and authorization completely. Attackers observed during the compromises followed a specific, step-by-step pattern to take control of the servers.
The first vulnerability allowed an unauthenticated individual to request and receive an internal anonymous-user token, even on systems where anonymous access was explicitly disabled. Usually, this token would have extremely limited permissions. However, the second flaw defeated the system’s safeguards. When this low-privilege token was submitted to the platform’s token-creation endpoint, the system only validated the token’s cryptographic signature and its issuer. It failed to verify what the token was actually allowed to do. As a result, the attacker received a new token with full administrator scope.
A particularly concerning detail of this exploit is how the abuse was masked in system logs. Even though the attacker was operating with the highest-level administrator privileges, the actions performed with the escalated token displayed the username as “token:anonymous” rather than showing a recognizable, named account. In some instances, the entire process—from the initial unauthenticated request to gaining full administrative control—was completed in under five minutes.
**A Standalone Critical Flaw**
In addition to the chained attack, a third and critically severe vulnerability was also exploited. This flaw is a direct authentication bypass, rated 9.8 out of 10 on the vulnerability severity scale. It targets the software’s default configuration and requires no chaining with other bugs. An unauthenticated attacker with network access can obtain administrator privileges through this flaw alone.
**What the Attackers Did**
With administrator authority secured, the attackers took several steps to maintain persistence and exfiltrate data:
* **Hidden Administrator Accounts:** Attackers created new admin accounts and left them in place. Some were given obvious names associated with proof-of-concept testing, while others were disguised to blend in with legitimate service accounts (such as names mimicking distribution or repository services).
* **Malicious Code Execution:** They installed malicious plugins through the platform’s native plugin framework, which granted them the ability to run arbitrary code and shell commands directly on the server.
* **Backdoor Deployment:** Attackers downloaded malicious binaries over HTTP, placed them in world-writable directories, and opened command-and-control channels. Custom backdoors, including one written in the Rust programming language, were identified in multiple compromised instances.
* **Stolen Secrets:** Attackers exfiltrated sensitive system configurations, specifically targeting the shared keys used by server nodes to recognize and trust one another.
**Remediation and Recovery Steps**
Organizations running self-hosted instances of the affected repository software must take immediate action. Cloud-hosted versions of the software are not impacted by these vulnerabilities.
For the chained flaws, the vulnerabilities are fixed in specific stable builds of the software. Fixing either vulnerability in the chain is sufficient to break the attack. However, administrators using older release branches must ensure they upgrade to the supported fixed versions, as some legacy branches may still fall outside the patched range. A workaround was also published for one of the standalone critical flaws, which involves adding a unique, secret join key to the system configuration to prevent unauthorized registration of new nodes.
**The Hidden Danger of Patching**
A crucial warning for defenders is that simply updating the software does not revert the damage already done. The administrator accounts created by the attackers do not automatically disappear when the software is upgraded. Furthermore, tokens and join keys that have already been compromised remain valid.
Security analysts strongly recommend the following post-patching actions:
1. Rotate the platform join keys immediately.
2. Revoke all access tokens issued during the period of exposure.
3. Audit the system for all administrator accounts and delete any unfamiliar profiles.
**How to Check for Compromise**
The clearest signal of a breach is an account performing actions outside its usual privilege level. Look for the internal anonymous user or low-privilege accounts creating new tokens, listing user accounts, or modifying the plugin framework. Additionally, audit the list of administrator accounts for any that were not intentionally created, paying close attention to suspicious naming conventions or accounts with randomly generated identifiers.
—
**Frequently Asked Questions (FAQ)**
**Q: What makes these vulnerabilities so dangerous when chained together?**
A: The first flaw provides a foothold by giving the attacker a valid but limited token. The second flaw escalates this limited token to full admin control because the system trusts the token’s origin without validating its assigned permissions. Together, they allow a complete system takeover with a single, unauthenticated request.
**Q: Why did the attackers’ actions appear as “token:anonymous” in the logs?**
A: The authentication system simply inherits the username associated with the original token when it issues an escalated version. Because the initial token belonged to the internal anonymous user, all subsequent administrative actions were recorded under that anonymous profile, effectively hiding the attacker’s true privilege level from standard log reviews.
**Q: Is there a way to detect if a token has been maliciously escalated?**
A: Standard logging is difficult because the system treats the escalated token with the same privileges it was granted at the moment of escalation. The best detection method is to enforce strict auditing of all administrative actions, specifically looking for commands executed by anonymous or low-privilege users that require admin rights.
**Q: How quickly did attackers move once they started exploiting these flaws?**
A: In several observed cases, attackers went from making their initial unauthenticated request to having a fully functional administrator account in under five minutes, demonstrating the speed and automation of the exploit chains.
—
**Conclusion**
The exploitation of these flaws highlights a critical danger in modern software infrastructure: a combination of authentication bypasses can completely negate built-in security mechanisms, allowing unauthorized users to take control of mission-critical build servers. While the vendor has released patches to close the entry points, organizations must remember that patching alone is not enough. A thorough forensic audit to remove backdoor accounts, rotate compromised keys, and invalidate existing tokens is essential to ensure that the attackers do not maintain a lingering foothold in their systems.
Thank you for reading



