GPU VulnDB

Database/Control plane, storage & DevOps

HashiCorp go-slug: Unicode normalization mismatch lets excluded files slip past .terraformignore into the upload

CVSS 5.5CVE-2026-14978Control plane, storage & DevOpscurated

Impact

go-slug is the library Terraform uses to pack a configuration directory into the slug it uploads to a run backend, and .terraformignore is what keeps things out of that package. Because path matching normalizes Unicode inconsistently, a filename can look excluded and still be bundled. What ends up shipped is whatever you deliberately excluded from the directory: tfvars holding cloud credentials, state backups, provisioning keys for the GPU nodes the config builds. Once uploaded, that material is readable by anyone with access to the run environment or the workspace, which is a wider audience than the people who can read the repo. Affected range is 0.4.0 through 0.18.2, scored 5.5, local and confidentiality-only.

Who can reach it

A local user or repository contributor who can control filenames inside the Terraform configuration directory before a plan or apply packs it. No remote path and no elevated privileges; the only requirement is getting a file into the tree that the packer walks.

What to do

Move off the affected go-slug range and rebuild or update whatever vendors it, which in practice means the Terraform CLI or the vendor product embedding it; IBM support node 7286070 covers the products IBM ships it in. The record gives the affected range but no fixed version, so take that from the upstream release rather than assuming. There is no daemon to restart and no node to touch, this is a tooling and CI image update. Independent of the patch, stop treating .terraformignore as a security boundary: keep secrets out of the configuration directory rather than relying on an exclusion rule, and rotate anything you find in a past upload.

References

Related entries

All Control plane, storage & DevOps entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.