Skip to content

[B2] Adjudicate open CodeQL security alerts (html-escape, sanitize, static-serve, sitemap) #1281

Description

@SisyphusZheng

Surfaced during the Beta.1 dev→main promotion (PR #1280, 2026-09-03): CodeQL diff-scan reported "7 new alerts including 5 high severity" purely because the promotion diff is the entire v0.44 train. Investigation shows the underlying alerts are pre-existing and open on main (created 2026-08-01 through 2026-08-22, i.e. they ship in stable 0.43.3):

  • #4140/#4142/#4143/#4144 — packages/element/src/internal/core/html-escape.ts (bad-tag-filter / incomplete-multi-character-sanitization, on main since Aug 8–9)
  • #4151 — www/app/site-ui/article-body.ts (incomplete-multi-character-sanitization, on main since Aug 22)
  • #4150 — packages/adapter-vite/src/internal/static-serve.ts (file-system race, Aug 17)
  • #4148/#4149 — packages/adapter-vite/src/internal/content/sitemap/generator.ts (insecure temporary file, Aug 17)
  • #4131 — tools/check-public-docs-integrity.ts (incomplete sanitization, Aug 1)
  • #4145 — tools/autoflow/__tests__/release.test.ts (template syntax in string literal, Aug 16)
  • #4170 — packages/app/__tests__/spa-projection-guard.test.ts (useless assignment, warning, new v0.44 test file)

Beta.1 decision: NOT a release blocker — no new exposure versus the published stable; security-projection suites (escape parity, sanitizer, static-output freeze) are green at the qualified candidate dc3ee191. But these must be adjudicated properly in Beta.2 hardening: for each alert either fix, or dismiss with a documented reason (several look like deliberate contract code, e.g. entity-preserving sanitizer escapes; CodeQL regex heuristics misfire on those).

Part of #1155. Recorded as a known exception in the Beta.1 release evidence.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions