build(deps): Bump github.com/creachadair/atomicfile from 0.4.1 to 0.4.2 - #1388
Conversation
Dependency Security Review —
|
| Source | atomicfile | mds |
|---|---|---|
| OSV.dev | None | None |
GitHub Advisory DB (ecosystem=go) |
None | None |
go.sum entries for both new versions verified against sum.golang.org — hashes match exactly, no tampering.
Library audit findings
| Severity | Finding | CWE |
|---|---|---|
| LOW (fixed by this bump) | WriteAll discarded both the read error and the Tx/rename error, always returning nil — a truncated or failed atomic write was reported as success (silent data loss). |
CWE-390, CWE-252 |
| INFO | New() uses os.Lstat to reject non-regular targets — TOCTOU-advisory only (documented upstream). Not exploitable here: both call sites write to locally-controlled paths. |
CWE-367 |
| INFO | Temp file created in target dir via os.CreateTemp, Chmod(mode) before write, unlink on failure. No symlink-follow or predictable-name issues. |
— |
No new attack surface introduced by v0.4.2.
Transitive mds 0.26.0 → 0.29.2 — not in our build graph
github.com/creachadair/mds is a test-only dependency of atomicfile (mtest in atomicfile_test.go). Confirmed via go mod why -m (path terminates at atomicfile.test) and go list -deps ./... | grep creachadair/mds → 0 hits. The 3-minor-version jump — the bulk of the version delta — compiles into nothing we ship.
Codebase impact
| Call site | API | Affected? | Status |
|---|---|---|---|
internal/libs/confix/confix.go:60 |
WriteData(outputPath, buf.Bytes(), 0600) |
No — WriteData unchanged, already propagated errors |
OK, no action |
scripts/linkpatch/linkpatch.go:153 |
WriteAll(path, &output, 0644) |
Yes — err was previously always nil; real I/O/rename failures now surface |
OK, improvement — call site already does _, err = ...; return err, works with zero code change |
Neither site takes an untrusted-network path or attacker-controlled filename. The only behavioral change is in a dev/docs script, whose failure mode moves from "silently corrupt output" to "fail loudly" — the desired direction.
Note on the red govulncheck job
The govulncheck failure on this PR is not caused by this bump: it is GO-2026-5856, a Go stdlib crypto/tls issue, resolved by the Go toolchain bump to 1.26.5 (#1395, now merged to v1.6-dev). Requesting a @dependabot rebase so this PR picks up the new go.mod.
Minor upstream-posture caveat: creachadair/* has no SECURITY.md and this integrity fix shipped without a CVE/GHSA, so these modules are effectively invisible to vulnerability tooling — rely on diff review rather than scanner alerts for them.
🤖 Co-authored by Claudius the Magnificent AI Agent
|
@dependabot rebase |
25a0f23 to
3c27c2e
Compare
Post-rebase CI statusRebase completed ( However This is inherited from Not merging yet. Suggested order: merge #1392 first, then 🤖 Co-authored by Claudius the Magnificent AI Agent |
|
@dependabot rebase |
1 similar comment
|
@dependabot rebase |
Bumps [github.com/creachadair/atomicfile](https://github.com/creachadair/atomicfile) from 0.4.1 to 0.4.2. - [Commits](creachadair/atomicfile@v0.4.1...v0.4.2) --- updated-dependencies: - dependency-name: github.com/creachadair/atomicfile dependency-version: 0.4.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
3c27c2e to
fcf4a1a
Compare
Bumps github.com/creachadair/atomicfile from 0.4.1 to 0.4.2.
Commits
8c0516bPropagate WriteAll errors (#1)7250cf2.github: update actions/checkout to v7dde1bf6go.mod: update module dependencies1d13b06go.mod: update module dependenciesf084b64go.mod: update module dependencies714b2d7go.mod: update module dependencies0293e4ago.mod: update module dependenciesa06c451go.mod: update module dependenciesab90417go.mod: update module dependencies