Loading...
Skip to main content

CVE-2024-52009

HIGH

Git credentials are exposed in Atlantis logs

Published November 8, 2024Updated June 26, 2026Source: osv

Summary

### Summary _Short summary of the problem. Make the impact and severity as clear as possible. For example: An unsafe deserialization vulnerability allows any unauthenticated user to execute arbitrary code on the server._ Atlantis logs contains GitHub credentials (tokens `ghs_...`) when they are rotated. This enables an attacker able to read these logs to impersonate Atlantis application and to perform actions on GitHub. When Atlantis is used to administer a GitHub organization, this enables getting administration privileges on the organization. This was reported in https://github.com/runatlantis/atlantis/issues/4060 and fixed in https://github.com/runatlantis/atlantis/pull/4667 . The fix was included in [Atlantis v0.30.0](https://github.com/runatlantis/atlantis/releases/tag/v0.30.0). ### Details _Give all details on the vulnerability. Pointing to the incriminated source code is very helpful for the maintainer._ While auditing the Kubernetes/Argo CD/Atlantis deployment of some company, the following set-up was encountered: - Most employees have read-only access to Argo CD, enabling them to see the health of deployed applications. - Atlantis was deployed as an Argo CD application. - Atlantis was used to manage the configuration of a GitHub organization (such as team members), using [Terraform's GitHub integration](https://registry.terraform.io/providers/integrations/github/latest). Atlantis logs on Argo CD contained lines such as: ```json {"level":"debug","ts":"2024-11-07T17:58:30.636Z","caller":"vcs/gh_app_creds_rotator.go:58","msg":"Refreshing git tokens for Github App","json":{}} {"level":"debug","ts":"2024-11-07T17:58:30.637Z","caller":"vcs/gh_app_creds_rotator.go:64","msg":"token ghs_[REDACTED]","json":{}} {"level":"debug","ts":"2024-11-07T17:58:30.637Z","caller":"vcs/git_cred_writer.go:36","msg":"git credentials file has expected contents, not modifying","json":{}} ``` This enabled employees with read-only access to Argo CD to get administration privileges on the GitHub organization, compromising all repositories. As some repositories were used for Infrastructure-as-Code deployment (with Atlantis), this enabled the security auditors to get cluster admin privileges on most Kubernetes clusters. While the set-up "most employees have read-only access to Argo CD" can be seen as dangerous, this should not incur such security risk (cf. https://argo-cd.readthedocs.io/en/stable/operator-manual/security/). The main issue here was that the logs contained privileged GitHub tokens as they were obtained by Atlantis. This issue was already reported (https://github.com/runatlantis/atlantis/issues/4060) and fixed (https://github.com/runatlantis/atlantis/pull/4667) but no security advisory was published on https://github.com/runatlantis/atlantis/security and no CVE was assigned (https://app.opencve.io/cve/?&vendor=runatlantis&product=atlantis only lists [CVE-2022-24912](https://nvd.nist.gov/vuln/detail/CVE-2022-24912), which is unrelated). Could you please publish a security advisory? ### PoC _Complete instructions, including specific configuration details, to reproduce the vulnerability._ cf. https://github.com/runatlantis/atlantis/issues/4060 for more details. ### Impact _What kind of vulnerability is it? Who is impacted?_ - This leaks sensitive GitHub tokens in the log files (CWE-532: Insertion of Sensitive Information into Log File). - This could enable anyone with log read access to compromiseGitHub organizations managed by Atlantis. - This impact at least users using Atlantis with Github application and integration.

Remediation

Upgrade to the fixed version using your package manager.

Go
Update github.com/runatlantis/atlantis to 0.30.0 or later
go get github.com/runatlantis/atlantis@v0.30.0

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (1)

PackageEcosystemAffectedFixed In
github.com/runatlantis/atlantis
go
All versions0.30.0

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 9.9 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Confidentiality
Integrity
Availability

CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:H/SA:H

Frequently Asked Questions

What is CVE-2024-52009?
Git credentials are exposed in Atlantis logs This vulnerability has been assigned a severity rating of HIGH (CVSS score: 9.9/10).
How do I check if my project is affected by CVE-2024-52009?
CVE-2024-52009 affects github.com/runatlantis/atlantis. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2024-52009 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
9.9

Exploitation is straightforward and causes maximum impact. Patch immediately.

Also Known As

GHSA-gppm-hq3p-h4rp
GO-2024-3265

Related CVEs

  • CVE-2026-64679
    HIGH

    Atlantis Workspace Handling has Path Traversal that Allows Out-of-Bounds Directory Deletion/Creation

  • CVE-2026-55839
    HIGH

    Kestra vulnerable to stored XSS via custom Markdown [[link]] attribute injection

  • CVE-2026-54347
    HIGH

    Froxlor: Stored XSS in DNS TXT Record Content Allows Customer-to-Admin Account Takeover

  • CVE-2026-63135
    HIGH

    YOURLS has stored XSS in referrer statistics chart via crafted Referer header

  • CVE-2026-63337
    HIGH

    RabbitMQ Java client: Unvalidated Class.forName in JSON-RPC ProcedureDescription enables arbitrary class loading

  • CVE-2026-54178
    HIGH

    Laravel Backpack CRUD: Arbitrary file deletion via attacker-controlled clear_<attr>[] in HasUploadFields::uploadMultipleFilesToDisk

  • CVE-2026-54167
    HIGH

    Pipelines-as-Code GitHub App token request can be redirected via untrusted Enterprise Host header

  • CVE-2026-54182
    HIGH

    Laravel Backpack CRUD: OS command injection in Stats::makeCurlRequest via attacker-controlled Host header (pre-auth)

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies