Reflected XSS: несанитайзенный title в debug /post/html (пре-существующий, найден при ревью #12) #13
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?
Обнаружено при ревью #12 (стадия 4), но это пре-существующий баг вне scope того PR (строка идентична в
origin/fix/stage-3-fileresponse; стадия-4 её не трогала).Reflected XSS: несанитайзенный
titleв debug-выводе/post/htmlpost_parser.py:489(_format_html, подif debug:):title = _generate_title(message)выводится из пользовательского текста/подписи и никогда не проходит bleach (в отличие от body/footer). Рендерится только при?debug=trueна/post/html/{channel}/{post_id}(эндпоинт за токеном,api_server.py:924), поэтому severity низкая (debug+token-gated), но это реальный reflected-XSS: пост с HTML/JS в заголовке → исполнение в браузере при debug-просмотре.Fix:
html.escape(data["html"]["title"])— ровно как стадия-4 уже сделала сraw_messageв соседнем debug-<pre>.(Соседний debug
raw_messageуже экранируется после стадии-4; здесь тот же приём на title.)