github hugohe3/ppt-master v6.3.2

6 hours ago

Patch release completing the security follow-ups from the v6.3.1 report. Upgrading is recommended for anyone who runs the live preview or Confirm UI, or converts web pages with web_to_md.py.

Security

All five items were reported by Zick Sun as follow-ups to the v6.3.1 fixes and verified before shipping.

  • Preview sanitizer hardening (2784f7a). sanitizeSvg() now keeps only an explicit allowlist of SVG element names in the SVG namespace, closing two residual gaps: null-namespace elements slipped through a short-circuit, and SVG-namespaced elements named like HTML breakout tags (div, iframe) became live HTML after innerHTML. Tab, CR, LF, and leading control characters are stripped from href values before the javascript: / vbscript: / data: check, matching what the browser URL parser does. Both gaps were already blocked by the Content-Security-Policy shipped in v6.3.1; that header remains a load-bearing control.
  • DNS rebinding guard on both local servers (2784f7a). The live preview and Confirm UI servers bind 127.0.0.1 but accepted any Host or Origin. Requests now get 403 unless Host is a loopback name and, when present, Origin is too.
  • web_to_md.py verifies TLS by default (31a20f2). Certificate verification was disabled at every call site. It is now on; --insecure turns it off with a warning for self-signed development hosts.
  • web_to_md.py refuses non-public fetch targets (31a20f2). Redirects were followed with no validation, so a page that 302s to a link-local metadata endpoint or private address was fetched and saved. Every requested and final URL, for pages and images, must be http(s) and resolve only to public addresses. --allow-private-hosts opts back in for intranet or localhost pages you chose deliberately.

Other changes since v6.3.1

  • Scripts: text width headroom applied per script segment with bounded CJK clause breaks (64b6583); slice_images names edge-wide key noise (ac93240).
  • Workflow: Step 6 checkpoint aligned with the P05 early gate (3ad8052).
  • Docs: PyMuPDF AGPL-3.0 license and PDF-only scope disclosed (b41ec1d); prompt audit manifest brought to zero findings.

Install

The ppt-master-skill-v6.3.2.zip asset contains only skills/ppt-master/ for agents that load the skill directory directly.

Don't miss a new ppt-master release

NewReleases is sending notifications on new releases.