security: sanitize markdown output and harden unix socket permissions

- Add isomorphic-dompurify to sanitize rendered docs HTML
- Tighten SocketServerJson socket permissions from 777 to 660
- Keep package.json version at 1.1.16

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-07-18 22:41:47 -04:00
parent d1dd40d60a
commit bdaba513a7
4 changed files with 546 additions and 9 deletions
+2 -1
View File
@@ -5,6 +5,7 @@ const path = require('path');
const router = require('express').Router();
const {rateLimit} = require('express-rate-limit');
const {marked} = require('marked');
const DOMPurify = require('isomorphic-dompurify');
const conf = require('@simpleworkjs/conf');
const buildInfo = require('../utils/build_info');
@@ -140,7 +141,7 @@ router.get('/:slug', function(req, res, next) {
docs: docList,
currentSlug: req.params.slug,
docTitle: doc.title,
docHtml: fixDocLinks(fixImagePaths(marked(content))),
docHtml: DOMPurify.sanitize(fixDocLinks(fixImagePaths(marked(content)))),
});
} catch (error) {
next(error);