CVE-2026-44220

ciguard: discover_pipeline_files follows symlinks out of scan root

Published May 12, 2026 CVSS 3.1 · 3.2 Low EPSS < 1% KEV · Not listed
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.

Remediation

No solution or workaround provided in the CVE record

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
Type Values Removed Values Added
Metrics ssvc

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

Type Values Removed Values Added
First Time appeared Jo-jo98
Jo-jo98 ciguard
Vendors & Products Jo-jo98
Jo-jo98 ciguard
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'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
May 13, 2026, 3:37 PM
Reserved
May 5, 2026, 3:42 PM
Status
Deferred
Published
May 12, 2026, 8:16 PM
Modified
Oct 26, 2026, 6:10 PM