v1.1.3
THU-MAIC/OpenMAICv1.1.3Oct 5, 2026by wyuc
Upgrading?
AI Summary
This security release addresses a critical vulnerability in the `/api/persistence` endpoint by sanitizing slide HTML to prevent Cross-Site Scripting (XSS) attacks.
Key Highlights
- Security fix for XSS vulnerability in `/api/persistence` (GHSA-6c52-8h4v-5xvg)
- Sanitization of slide HTML on every read and write
- Removal of scripts, event handlers, and embedded objects
Breaking Changes
- Slide HTML written through `/api/persistence` is stripped of scripts, event-handler attributes, `javascript:` URLs, and embedded objects
- Inline styles are re-serialized without spaces
- Documents stored previously are sanitized upon read
Full Release Notes
A security release. Course documents served by `/api/persistence` now carry only the slide HTML the renderer produces, on every write and every read. Read **Behavior Changes** before upgrading. ## Security - Course documents: with server persistence enabled, `/api/persistence/documents/...` stored and returned slide HTML without sanitizing it. Document reads are capability-by-id, so anyone with a course link loads that course, and the classroom renders slide text, shape text, table cells and LaTeX snapshots as HTML. A course written through this path could therefore run script in the browser of anyone who opened its link. The owner-bound document store now applies the same sanitization policy as `/api/classroom` to the stage and scenes on every write and every read, so new documents are stored clean and documents stored earlier are served clean. [GHSA-6c52-8h4v-5xvg](https://github.com/THU-MAIC/OpenMAIC/security/advisories/GHSA-6c52-8h4v-5xvg) [#1799](https://github.com/THU-MAIC/OpenMAIC/pull/1799) The same fix ships in [v1.2.0-rc.1](https://github.com/THU-MAIC/OpenMAIC/releases/tag/v1.2.0-rc.1). ## Behavior Changes - Slide HTML written through `/api/persistence` is reduced to the renderer's formatting vocabulary (the policy `/api/classroom` already applies): scripts, event-handler attributes, `javascript:` URLs and embedded objects are removed, and inline styles are re-serialized without spaces (`text-align: center;` becomes `text-align:center`). Formatting the editor produces is kept. - Documents already stored are not rewritten in the database; they are sanitized when read, and stored clean the next time they are saved.
Related Repositories
openclaw/openclaw★ 392,696
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
nilbuild/developer-roadmap★ 370,067
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
morluto/rea★ 357,700
Reverse engineer anything with agents, from app behavior down to native binaries.
anomalyco/opencode★ 219,670
The open source coding agent.
n8n-io/n8n★ 208,251
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.