Development record
GHSA-fpf2-pg82-72rj: abcd site build and site check follow symlinks in the output path, and the .abcd-site-build marker is name-only. inspectOutDir uses os.ReadDir/os.Stat (follows a symlinked leaf), purgeOutDir runs os.RemoveAll through the same path, and MkdirAll plus os.OpenRoot open a symlink's target as the containment root; no Lstat/EvalSymlinks guard exists, and an ancestor symlink is missed even by a leaf-only Lstat. A committed marker forges ours classification so a later --out purges the directory's other entries (with --out . that includes .git). CWE-59.
GHSA-fpf2-pg82-72rj: abcd site build and site check follow symlinks in the output path, and the .abcd-site-build marker is name-only. inspectOutDir uses os.ReadDir/os.Stat (follows a symlinked leaf), purgeOutDir runs os.RemoveAll through the same path, and MkdirAll plus os.OpenRoot open a symlink's target as the containment root; no Lstat/EvalSymlinks guard exists, and an ancestor symlink is missed even by a leaf-only Lstat. A committed marker forges ours classification so a later --out purges the directory's other entries (with --out . that includes .git). CWE-59.
Frontmatter
| id | iss-2608291807455620 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | major |
.abcd/work/issues/resolved/iss-2608291807455620-site-build-follows-symlinks-in-output.md
open on GitHub ↗ · commit history ↗