Description
ciguard is a static security auditor for CI/CD pipelines. From 0.8.0 to 0.8.1 , the discover_pipeline_files() function in src/ciguard/discovery.py walks a directory tree following symlinks, with cycle protection via tracking visited resolved paths. An attacker who can plant a symlink in a directory the user (or AI agent) scans can cause discovery to walk into the symlink target and return paths to pipeline-shaped files outside the requested root. This vulnerability is fixed in 0.8.2.
Published: 2026-05-12
Score: 3.2 Low
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The discover_pipeline_files() function in ciguard’s discovery module walks a directory tree, following symbolic links with only cycle protection based on visited resolved paths. This design flaw allows an attacker who can place a symlink inside a directory that a CI/CD scan processes to cause the discovery routine to traverse outside the intended scan root and reveal paths to pipeline‑styled files that are not part of the targeted repository. The vulnerability is a classic directory traversal issue identified as CWE‑59 and can result in unauthorized disclosure of internal pipeline artifacts or configuration files.

Affected Systems

Ciguard versions 0.8.0 through 0.8.1, inclusive, are affected. The issue has been patched in release 0.8.2, so any deployment using 0.8.0 or 0.8.1 requires an upgrade to avoid the exposed file paths.

Risk and Exploitability

The CVSS score of 3.2 indicates a moderate severity. EPSS data is unavailable, and the vulnerability is not listed in the CISA KEV catalog, suggesting that it has not yet been actively exploited in the wild. Attackers would need local or elevated privileges to place a symlink within a scanned directory, making the threat scope limited to environments where build agents or CI runners run with write access to the repository’s working tree. Without such privileges, the risk remains low. Nevertheless, the potential for leaking sensitive pipeline configuration warrants prompt remediation.

Generated by OpenCVE AI on May 12, 2026 at 21:48 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade ciguard to version 0.8.2 or later to apply the fix that prevents walking beyond the scan root.
  • If upgrading is not immediately possible, restrict write permissions to directories scanned by ciguard so that attackers cannot create malicious symlinks.
  • As a temporary measure, disable symbolic link resolution in the discovery logic if the environment allows modifying configuration or source to stop following symlinks.

Generated by OpenCVE AI on May 12, 2026 at 21:48 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-8cxw-cc62-q28v ciguard: discover_pipeline_files follows symlinks out of scan root
History

Wed, 13 May 2026 16:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 13 May 2026 11:00:00 +0000

Type Values Removed Values Added
First Time appeared Jo-jo98
Jo-jo98 ciguard
Vendors & Products Jo-jo98
Jo-jo98 ciguard

Tue, 12 May 2026 20:15:00 +0000

Type Values Removed Values Added
Description ciguard is a static security auditor for CI/CD pipelines. From 0.8.0 to 0.8.1 , the discover_pipeline_files() function in src/ciguard/discovery.py walks a directory tree following symlinks, with cycle protection via tracking visited resolved paths. An attacker who can plant a symlink in a directory the user (or AI agent) scans can cause discovery to walk into the symlink target and return paths to pipeline-shaped files outside the requested root. This vulnerability is fixed in 0.8.2.
Title ciguard: discover_pipeline_files follows symlinks out of scan root
Weaknesses CWE-59
References
Metrics cvssV3_1

{'score': 3.2, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:L/I:N/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-05-13T15:37:35.696Z

Reserved: 2026-05-05T15:42:40.517Z

Link: CVE-2026-44220

cve-icon Vulnrichment

Updated: 2026-05-13T14:58:29.496Z

cve-icon NVD

Status : Deferred

Published: 2026-05-12T20:16:42.893

Modified: 2026-05-13T17:02:28.447

Link: CVE-2026-44220

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-13T10:36:19Z

Weaknesses