security: debug-HTML выводит несанитайзенный title (reflected-XSS, token-gated) #14
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Проблема
_format_htmlвpost_parser.py:489(debug-режим) выводитdata["html"]["title"]в<div>БЕЗ санитайза. title никогда не санитайзился (и в старом коде тоже), а в debug-HTML попадает в разметку сырым → reflected-XSS.Достижимо ТОЛЬКО при
?debug=true, эндпоинт/post/htmlза токеном (api_server.py). Low severity (debug + token-gated), пре-существует (стадия 4 НЕ трогала эту строку — вынесено ревьюером отдельным issue).Fix
html.escape(data["html"]["title"])— ровно как стадия 4 сделала сraw_messageв том же debug-<pre>. Проверить, нет ли других сырыхdata["html"][...]вставок в debug-ветке.Severity
Security (reflected-XSS), но debug+token-gated → low.
Дубликат #13 (та же проблема: несанитайзенный title в debug-выводе /post/html, найдена дважды — ревьюером при ревью #12 и кодером). Закрываю в пользу #13.