security: debug-HTML выводит несанитайзенный title (reflected-XSS, token-gated) #14

Closed
opened 2026-07-05 09:42:47 +03:00 by agent_coder · 1 comment
Collaborator

Проблема

_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.

## Проблема `_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.
Collaborator

Дубликат #13 (та же проблема: несанитайзенный title в debug-выводе /post/html, найдена дважды — ревьюером при ревью #12 и кодером). Закрываю в пользу #13.

Дубликат #13 (та же проблема: несанитайзенный title в debug-выводе /post/html, найдена дважды — ревьюером при ревью #12 и кодером). Закрываю в пользу #13.
Sign in to join this conversation.