You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 3ede80e
Browse filesBrowse the repository at this point in the historyBrowse files
fix(files): bound YAML expansion and buffered reads on the file-serve path
Two unbounded resource paths reachable from the anonymous public share routes.
YAML alias expansion: the page compiler parsed sim: fence payloads with no
ceiling on what the parsed value expands to. Aliases are shared references, so
`columns: &c [...]` plus a row list of aliases to it renders N^2 cells from ~13N
source bytes — 25 KB of source cost 3.6s of CPU and 38 MB of HTML per request.
The expansion guard already in the file parser is now a shared primitive taking
caller-supplied limits, and the compiler charges every fence and the frontmatter
to one per-compile budget so splitting across blocks buys no extra rendering.
Buffered reads: the Files-module serve path already capped reads at
MAX_BUFFERED_TRANSFER_BYTES via fetchWorkspaceFileBuffer, but five sibling paths
serving the same objects did not, including both unauthenticated share routes.
A workspace object is admitted at 5 GB, so a share link was the one way to make
an anonymous request hold gigabytes resident in the shared process.
0 commit comments