diff --git a/.changeset/codeql-backlog-security.md b/.changeset/codeql-backlog-security.md deleted file mode 100644 index 9d3facba..00000000 --- a/.changeset/codeql-backlog-security.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -"@cloudhal/core-ts": patch -"@cloudhal/astro-renderer": patch -"@cloudhal/api": patch -"@cloudhal/mcp-server": patch -"@cloudhal/cloudflare": patch -"@cloudhal/cli": patch ---- - -Security fixes from the CodeQL backlog on `main`. - -- **Prototype pollution.** A2UI `updateDataModel` paths (`@cloudhal/core-ts/interop`) that name `__proto__`, `constructor` or `prototype` at any depth are now refused with an `InteropError` instead of being skipped, step into arrays by index only, and write own properties only; an input whose component id is one of those keys gets the data key `-value`. Surface pointers the page writes through (an input's `value`/`checked`, a Scrolly's `step`, a Button action's `path`) may not name those keys (a `checkSurface` issue); read bindings still may. The Build eval's sample inputs never write through them, and `set_chrome` and `update_entry`'s `fields` merge patch refuse them as keys. `RESERVED_KEYS` and `isReservedKey` are new in `@cloudhal/core-ts/names`. -- **Plain text from HTML.** `htmlText` (meta and feed descriptions, JSON-LD, table-of-contents labels) is plain text: `<script>` in markdown is the text `