Release
v5.8.9 — CodeQL #170/#173 taint-break + BOM fix + prompt cleanup
CodeQL 170 — CWE-367 TOCTOU (test-phase11.ts stale-lock inject): lockPath tainted via new FileLock(lockPath) internal existsSync → openSync(lockPath, 'w'). Fixed with fresh const staleLockPath = join(dir, '.test.lock') i
Read the release here or open the original release on GitHub.
What's Changed
Fixed
- CodeQL #170 — CWE-367 TOCTOU (
test-phase11.tsstale-lock inject):lockPathtainted vianew FileLock(lockPath)internalexistsSync→openSync(lockPath, 'w'). Fixed with freshconst staleLockPath = join(dir, '.test.lock')inside the write block. - CodeQL #173 — CWE-367 TOCTOU (
test-phase11.tsorphan-tmp simulate):tmpPathflowed fromassert(!existsSync(tmpPath))intoopenSync(tmpPath, O_CREAT|O_EXCL|O_WRONLY). Fixed with freshconst orphanTmpPathinside the write block. - UTF-8 BOM regression: PowerShell 5.1
Set-Contentwrites BOM, breakingts-nodeJSON parse in CI. All version-bump scripts now useSystem.IO.File::WriteAllTextwithUTF8Encoding(false). claude-project-prompt.mdresidual hardcoded-3 refs: Pre-commit checklist and response-format template still referenced "3 sub-tasks" after v5.8.8 SkillSpector fix. Both updated to be count-agnostic.
Full Changelog: https://github.com/Jovancoding/Network-AI/compare/v5.8.8...v5.8.9