CVE-2026-15343
GitHub Enterprise Server Analyse et atténuation des vulnérabilités

Aperçu

CVE-2026-15343 is a path traversal vulnerability in GitHub Enterprise Server (GHES) that allows an attacker with code execution inside the Dependabot updater container to write attacker-controlled files to arbitrary repository paths, including GitHub Actions workflow files under .github/workflows/. The flaw affects all GHES versions prior to 3.22, specifically versions 3.17.0–3.17.17, 3.18.0–3.18.11, 3.19.0–3.19.8, 3.20.0–3.20.4, and 3.21.0–3.21.2. It was disclosed on July 17, 2026, with patches released the same day. The vulnerability carries a CVSS v4.0 base score of 8.6 (High) (GitHub Advisory, GHES 3.21 Release Notes).

Détails techniques

The root cause is improper path validation (CWE-22: Path Traversal) in the Dependabot updater container's dependency-file handling logic. The path validation checked only the declared file name and not the effective path derived from the file's directory and symlink target, allowing an attacker to manipulate the dependency file's directory and symlink target to resolve to arbitrary repository paths. This means an attacker who has already achieved code execution within the Dependabot updater container can craft a dependency file that, when processed, writes attacker-controlled content to .github/workflows/ or other sensitive repository paths. The attack vector is network-based and requires low privileges (code execution within the container), with no user interaction needed (GitHub Advisory, GHES 3.17 Release Notes).

Impact

Successful exploitation allows an attacker to inject malicious GitHub Actions workflow files into any repository managed by Dependabot. If the targeted repository uses a pull_request_target workflow or has auto-merge enabled, the injected workflow can execute with full access to the repository's GitHub Actions secrets, leading to secret exfiltration, supply chain compromise, or further lateral movement within the enterprise environment. The confidentiality and integrity of affected repositories are both rated HIGH, as sensitive CI/CD secrets and repository contents can be exposed or tampered with (GitHub Advisory, GHES 3.19 Release Notes).

Exploitabilité

As of the disclosure date, there is no public proof-of-concept exploit and no evidence of in-the-wild exploitation (GitHub Advisory). The EPSS score is approximately 0.0045 (0.45%), indicating a low current probability of exploitation in the wild. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires an attacker to first achieve code execution inside the Dependabot updater container, which is a non-trivial precondition that limits the attack surface. The NVD SSVC assessment classifies the vulnerability as non-automatable with total technical impact.

Étapes d’exploitation

  1. Gain container access: Obtain code execution within the Dependabot updater container on a vulnerable GHES instance (e.g., by exploiting a separate vulnerability in the Dependabot update pipeline or through a compromised dependency source).
  2. Identify target repository: Locate a repository on the GHES instance that Dependabot is configured to update and that uses a pull_request_target workflow or has auto-merge enabled — these configurations allow injected workflows to execute with elevated secret access.
  3. Craft malicious dependency file: Create or modify a dependency file within the container such that its declared directory path and symlink target resolve, after path traversal, to .github/workflows/ in the target repository. The path validation only checks the declared file name, not the effective resolved path.
  4. Write malicious workflow file: Leverage the path traversal to write a crafted GitHub Actions workflow YAML file (e.g., a workflow that exfiltrates secrets.GITHUB_TOKEN or other repository secrets to an attacker-controlled endpoint) into .github/workflows/ of the target repository.
  5. Trigger workflow execution: The injected workflow executes automatically when a pull request is opened (via pull_request_target) or when auto-merge processes the Dependabot pull request, granting the attacker access to the repository's GitHub Actions secrets (GitHub Advisory, GHES 3.21 Release Notes).

Indicateurs de compromis

  • File System: Unexpected or newly created files under .github/workflows/ in repositories managed by Dependabot, particularly files not associated with legitimate developer commits; symlinks in dependency file directories pointing outside expected paths.
  • Logs: GitHub Actions audit log entries showing workflow runs triggered by Dependabot pull requests in repositories with pull_request_target triggers or auto-merge enabled, especially workflows not previously present in the repository history; Dependabot updater container logs showing file write operations to paths outside the expected dependency file directories.
  • Network: Outbound connections from GitHub Actions runners to unexpected external endpoints during Dependabot-triggered workflow runs, potentially indicating secret exfiltration attempts.
  • Repository Activity: Git commits authored by the Dependabot service account that include changes to .github/workflows/ files, particularly if those workflow files contain unusual steps such as curl or wget calls to external hosts (GitHub Advisory).

Atténuation et solutions de contournement

GitHub has released patched versions addressing this vulnerability: 3.21.3, 3.20.5, 3.19.9, 3.18.12, and 3.17.18, all released on July 16, 2026. Administrators should upgrade to the appropriate patched version immediately. As interim mitigations, consider reviewing and restricting permissions of the Dependabot updater container, disabling auto-merge on repositories managed by Dependabot where possible, and auditing pull_request_target workflow configurations to limit secret exposure. Note that GHES 3.17 reaches end-of-life on August 25, 2026, so upgrading to a more recent supported release series is strongly recommended (GHES 3.21 Release Notes, GHES 3.17 Release Notes).

Ressources additionnelles


SourceCe rapport a été généré à l’aide de l’IA

Apparenté GitHub Enterprise Server Vulnérabilités:

Identifiant CVE

Sévérité

Score

Technologies

Nom du composant

Exploit CISA KEV

A corrigé

Date de publication

CVE-2026-17556HIGH8.8
  • GitHub Enterprise Server logoGitHub Enterprise Server
  • cpe:2.3:a:github:enterprise_server
NonNonAug 05, 2026
CVE-2026-15343HIGH8.6
  • GitHub Enterprise Server logoGitHub Enterprise Server
  • cpe:2.3:a:github:enterprise_server
NonNonJul 17, 2026
CVE-2026-15996MEDIUM6.6
  • GitHub Enterprise Server logoGitHub Enterprise Server
  • cpe:2.3:a:github:enterprise_server
NonNonAug 05, 2026
CVE-2026-15007MEDIUM5.7
  • GitHub Enterprise Server logoGitHub Enterprise Server
  • cpe:2.3:a:github:enterprise_server
NonNonJul 17, 2026
CVE-2026-15783MEDIUM5.3
  • GitHub Enterprise Server logoGitHub Enterprise Server
  • cpe:2.3:a:github:enterprise_server
NonNonJul 17, 2026

Évaluation gratuite des vulnérabilités

Évaluez votre posture de sécurité dans le cloud

Évaluez vos pratiques de sécurité cloud dans 9 domaines de sécurité pour évaluer votre niveau de risque et identifier les failles dans vos défenses.

Demander une évaluation

Obtenez une démo personnalisée

Prêt(e) à voir Wiz en action ?

"La meilleure expérience utilisateur que j’ai jamais vue, offre une visibilité totale sur les workloads cloud."
David EstlickRSSI
"Wiz fournit une interface unique pour voir ce qui se passe dans nos environnements cloud."
Adam FletcherChef du service de sécurité
"Nous savons que si Wiz identifie quelque chose comme critique, c’est qu’il l’est réellement."
Greg PoniatowskiResponsable de la gestion des menaces et des vulnérabilités