Infracost: Arbitrary file read via config-template readFile symlink traversal
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Active
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-22 and the CVSS impact.
Summary
Infracost provides cloud cost intelligence for engineers, AI coding agents, and CI/CD. Prior to 0.10.45, the readFile, pathExists, isDir, and matchPaths template functions in internal/config/template/parser.go use a lexical filepath.Rel check and a leaf-only os.Lstat check that do not resolve an intermediate directory symlink. A repository can contain a path such as evil/file where evil points outside the checkout, causing os.ReadFile and related operations to follow the symlink and read runner-accessible files. The resulting content is rendered into generated configuration and can be surfaced through the Infracost dashboard or pull request comment, with greater impact in workflows that provide repository secrets. This issue is fixed in version 0.10.45.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| infracost | infracost | before 0.10.45 | 0.10.45 | Patch available | CNA |
| — | github.com/infracost/infracost (Go) | before 0.10.45 | 0.10.45 | Patch available | GHSA-mmg6-4qmv-6pc8 |
- infracost Vendorinfracost Affected before 0.10.45 Fixed in 0.10.45 Patch available CNA
- github.com/infracost/infracost (Go) Vendor— Affected before 0.10.45 Fixed in 0.10.45 Patch available GHSA-mmg6-4qmv-6pc8
Remediation
- Fix · CNA infracost (infracost) Fixed in 0.10.45
- Fix · GHSA-mmg6-4qmv-6pc8 github.com/infracost/infracost (Go) Fixed in 0.10.45 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-71493
- 2026-10-03 Alias added: GHSA-mmg6-4qmv-6pc8
References
Other 5
- https://github.com/infracost/infracost/security/advisories/GHSA-mmg6-4qmv-6pc8
- https://github.com/infracost/infracost/pull/3586
- https://github.com/infracost/infracost/commit/4d39331afc0e27752d16d9d91c34583e5e8487fb
- https://github.com/infracost/infracost/releases/tag/v0.10.45
- https://github.com/infracost/infracost
More infracost vulnerabilities
- TI-2026-50102 Infracost: Terraform Cloud and registry token disclosure via unvalidated hostname CVSS 4.0MEDIUM 5.9
Sources
- CVE-2026-71493 · CVE Program
- CVE-2026-71493 · NVD
- FIRST EPSS
- GHSA-mmg6-4qmv-6pc8 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences