fix: begrens het lezen van grafiekdata bij het openen #548
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!548
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/onbegrensde-reads"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Fifth item from #516: the remaining unbounded reads. One fixed, one deliberately left with the reason.
Chart data — fixed
Chart data travels beside the deck, so it arrives from a package, a repository or somebody else's folder. It was read with no size check, and parsing the CSV puts a second copy on top of the first. Opening has no interface to interrupt, which makes it exactly the moment you do not want an unbounded read.
8 MiB, which is generous for any chart a human reads. Over the cap the file gets the same treatment as a missing one: the chart draws empty and the path lands in the warnings. Silently skipping would read as "this chart has no numbers".
Mutation-checked: removing the cap makes the test fail.
The nested CVE zip — not fixed, on purpose
cve_bulk_ingest.dartalready streams file-to-file and caps each record (maxRecordBytes). What is missing is a cap on the declared uncompressed size of the inner zip — the zip-bomb axis.I am not inventing a number for it. The real CVE list is hundreds of megabytes, so a cap picked from intuition either never fires (theatre) or breaks the feature silently for a user who is mid-download. That one needs measuring against a real download, which is not something to do unattended.
Gates
make checkgreen.Part of #516; four items left, of which
audienceBoundary,DocumentSignatureand the RFC 3161 chain verification are design decisions rather than fixes.