CVE-2025-32958 Overview
CVE-2025-32958 is an information exposure vulnerability in the Adept programming language's GitHub repository. Prior to commit a1a41b7, the remoteBuild.yml workflow file uses actions/upload-artifact@v4 to upload the mac-standalone artifact. This artifact is a zip of the current directory, which includes the automatically generated .git/config file containing the run's GITHUB_TOKEN. Since the artifact can be downloaded prior to the end of the workflow, there is a brief window where an attacker can extract the token from the artifact and use it with the GitHub API to push malicious code or rewrite release commits in the AdeptLanguage/Adept repository.
Critical Impact
This vulnerability allows unauthenticated remote attackers to extract valid GitHub tokens from workflow artifacts, potentially enabling repository compromise, malicious code injection, and supply chain attacks against the Adept programming language project.
Affected Products
- AdeptLanguage/Adept GitHub repository (prior to commit a1a41b7)
- Adept programming language build workflows using remoteBuild.yml
- Systems relying on Adept releases built through the vulnerable CI/CD pipeline
Discovery Timeline
- 2025-04-21 - CVE-2025-32958 published to NVD
- 2025-04-23 - Last updated in NVD database
Technical Details for CVE-2025-32958
Vulnerability Analysis
This vulnerability represents a classic information disclosure flaw (CWE-200) in CI/CD pipeline configuration. The root issue lies in the improper handling of sensitive credentials within GitHub Actions workflows. When the remoteBuild.yml workflow executes, it creates a build artifact containing the entire working directory without properly excluding sensitive files.
The .git/config file automatically generated during workflow execution contains the GITHUB_TOKEN environment variable, which provides authenticated access to the repository. By design, GitHub Actions artifacts become downloadable as soon as the upload step completes, but the workflow may continue executing for several more seconds or minutes. This creates a race condition window where an attacker monitoring the repository can download the artifact, extract the token, and use it before the workflow completes and the token expires.
Root Cause
The vulnerability stems from insecure artifact packaging practices in the CI/CD workflow. The actions/upload-artifact@v4 action was configured to zip and upload the entire current directory without excluding the .git folder and its contents. This is a common misconfiguration where developers focus on including necessary build outputs but fail to explicitly exclude sensitive configuration files that may contain secrets or credentials.
The .git/config file contains repository configuration including, in GitHub Actions environments, the GITHUB_TOKEN which is automatically provided to workflows for repository operations. This token typically has write access to the repository contents and can be used to push commits, create releases, or modify existing code.
Attack Vector
The attack exploits the network-accessible nature of GitHub Actions artifacts combined with a timing vulnerability in the workflow execution. An attacker would need to:
- Monitor the target repository for workflow runs using the GitHub API or web interface
- Immediately download the uploaded artifact when it becomes available during workflow execution
- Extract the .git/config file from the artifact archive
- Parse the GITHUB_TOKEN from the configuration file
- Use the token with the GitHub API to perform malicious actions before the workflow completes and the token is invalidated
The vulnerability is exploitable without authentication (with respect to the artifact download, which is public for public repositories) and requires no user interaction, making it particularly dangerous for open-source projects.
Detection Methods for CVE-2025-32958
Indicators of Compromise
- Unexpected commits or releases in the AdeptLanguage/Adept repository not matching legitimate developer activity
- GitHub API access logs showing token usage from unfamiliar IP addresses during or shortly after workflow runs
- Artifact download requests occurring immediately after upload completion, potentially from automated systems
- Modified release assets or binaries that differ from expected build outputs
- Unusual repository permission changes or branch protection modifications
Detection Strategies
- Audit GitHub repository audit logs for API calls made with GITHUB_TOKEN during active workflow runs
- Monitor for artifact downloads that occur within seconds of artifact upload completion
- Review commit history for commits made during workflow execution timeframes that weren't part of the workflow itself
- Implement integrity checking for release artifacts by comparing hashes against known-good builds
- Set up alerts for repository configuration changes, especially those modifying branch protections or access controls
Monitoring Recommendations
- Enable GitHub repository audit logging and regularly review API access patterns
- Implement webhook-based monitoring for repository events during workflow executions
- Use GitHub's security advisories and Dependabot to track updates to the Adept project
- Monitor for mentions of the repository in security research forums or vulnerability disclosure channels
- Establish baseline metrics for normal artifact download patterns to detect anomalies
How to Mitigate CVE-2025-32958
Immediate Actions Required
- Update the AdeptLanguage/Adept repository to commit a1a41b7 or later which contains the security fix
- Review repository audit logs for any suspicious activity that may indicate past exploitation
- Rotate any secrets or tokens that may have been exposed through previously uploaded artifacts
- Verify the integrity of recent releases and commits to ensure no malicious modifications occurred
- Consider re-signing or re-releasing recent builds from a verified clean state
Patch Information
The vulnerability has been patched in commit a1a41b72cdf1bebfc0cf6d7b3a8350e6406b2220. Users and developers relying on the Adept programming language should ensure they are using builds produced after this commit. The fix modifies the artifact upload configuration to properly exclude the .git directory and its sensitive contents from the uploaded archive.
For more details, see the GitHub Security Advisory GHSA-8c7v-vccv-cx4q.
Workarounds
- Manually modify the remoteBuild.yml workflow to add exclusion patterns for .git/ directory before uploading artifacts
- Use a separate, isolated directory for artifact collection instead of zipping the entire working directory
- Implement pre-upload scripts that sanitize the working directory by removing sensitive files
- Consider using actions/upload-artifact with explicit path specifications rather than directory-wide uploads
- Temporarily disable automated artifact uploads until the patched version can be deployed
# Example: Add .git to artifact exclusion in workflow
# In your remoteBuild.yml, modify the upload-artifact step:
#
# - uses: actions/upload-artifact@v4
# with:
# name: mac-standalone
# path: |
# .
# !.git/
# !.git/**
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


