[Security] Bound TAR inspection before payload traversal #46

Closed
opened 2026-09-08 00:59:42 +02:00 by zemion · 1 comment
Owner

Implemented locally: TAR limits checked incrementally before regular-member payload traversal; archive paths limited to4096 UTF-8 bytes/128 components; generated parent directories count toward entry limits. Existing valid archives retain behavior. Files55 archive tests and15 documentation tests passed. EN/DE owning documentation updated. Remaining resource-isolation and TAR extension-header work is separate; no live archive or file operation was performed.

Coordinated review: GovOPlaN/govoplan-core#296. Changes are uncommitted/unpushed and this issue remains open pending publication and final integrated checks. No live application data was mutated.

Implemented locally: TAR limits checked incrementally before regular-member payload traversal; archive paths limited to4096 UTF-8 bytes/128 components; generated parent directories count toward entry limits. Existing valid archives retain behavior. Files55 archive tests and15 documentation tests passed. EN/DE owning documentation updated. Remaining resource-isolation and TAR extension-header work is separate; no live archive or file operation was performed. Coordinated review: GovOPlaN/govoplan-core#296. Changes are uncommitted/unpushed and this issue remains open pending publication and final integrated checks. No live application data was mutated.
Author
Owner

Implemented and released in Files0.1.26: inspect regular TAR member limits before payload traversal, limit archive paths to4096 UTF-8 bytes/128 components, and count derived directories against entry limits. Archive/documentation regressions and the final integrated gate passed; the latter's Files group passed59 tests plus25 subtests. Valid bounded archives retain their behavior. TAR extension-header isolation and hard process resource limits remain Core #297 work.

Publication evidence: Meta #51 records verified source tags, native packages and signed catalog Git publication. catalog-v0.1.45 is commit 03ac237949a1963189d1b7a4b3cc3397e60b10a1, annotated tag object 3d4735ea3028edfa47341e4f0b53650a4ae868d6, sequence 202609080236; exact stable.json SHA-256 00dd1fa8390b7823dc082eddaca0bd826f9fcee0c479f56cd82ea55f93bf3cc8.

This is not a live website deployment: a fresh public read still serves0.1.18/sequence202608061915. Website #9 owns authorized website rollout and its separate image-review gates. No application runtime distribution was published; Meta #52 remains held. No real mail/file/workflow operations or deployment were used to verify this closure.

<!-- govoplan-release-0.1.45-bounded-close:govoplan-files:46 --> Implemented and released in Files0.1.26: inspect regular TAR member limits before payload traversal, limit archive paths to4096 UTF-8 bytes/128 components, and count derived directories against entry limits. Archive/documentation regressions and the final integrated gate passed; the latter's Files group passed59 tests plus25 subtests. Valid bounded archives retain their behavior. TAR extension-header isolation and hard process resource limits remain [Core #297](https://git.add-ideas.de/GovOPlaN/govoplan-core/issues/297) work. Publication evidence: [Meta #51](https://git.add-ideas.de/GovOPlaN/govoplan/issues/51) records verified source tags, native packages and signed catalog Git publication. [catalog-v0.1.45](https://git.add-ideas.de/add-ideas/addideas-govoplan-website/src/tag/catalog-v0.1.45/public/catalogs/v1/channels/stable.json) is commit `03ac237949a1963189d1b7a4b3cc3397e60b10a1`, annotated tag object `3d4735ea3028edfa47341e4f0b53650a4ae868d6`, sequence `202609080236`; exact stable.json SHA-256 `00dd1fa8390b7823dc082eddaca0bd826f9fcee0c479f56cd82ea55f93bf3cc8`. This is not a live website deployment: a fresh public read still serves0.1.18/sequence202608061915. [Website #9](https://git.add-ideas.de/add-ideas/addideas-govoplan-website/issues/9) owns authorized website rollout and its separate image-review gates. No application runtime distribution was published; [Meta #52](https://git.add-ideas.de/GovOPlaN/govoplan/issues/52) remains held. No real mail/file/workflow operations or deployment were used to verify this closure.
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-files#46