[Security] Enforce render output budget during construction #7

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

Implemented locally: preserve the existing5MiB budget but reject oversized substitutions and combined item output during construction, not after full allocation. UTF-8, HTML escaping and separator costs are included. Full20-test suite passed; independent3000-case text/HTML substitution comparison remained byte-identical. EN/DE documentation updated.

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: preserve the existing5MiB budget but reject oversized substitutions and combined item output during construction, not after full allocation. UTF-8, HTML escaping and separator costs are included. Full20-test suite passed; independent3000-case text/HTML substitution comparison remained byte-identical. EN/DE documentation updated. 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 Templates0.1.22: enforce the existing5MiB output budget during substitution/item construction, including UTF-8, HTML escaping and separators. All20 module tests passed; an independent3000-case valid-output comparison remained byte-identical. Owning EN/DE documentation and final integration passed. This bounds the identified allocation path, not every possible rendering resource risk.

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-templates:7 --> Implemented and released in Templates0.1.22: enforce the existing5MiB output budget during substitution/item construction, including UTF-8, HTML escaping and separators. All20 module tests passed; an independent3000-case valid-output comparison remained byte-identical. Owning EN/DE documentation and final integration passed. This bounds the identified allocation path, not every possible rendering resource risk. 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-templates#7