Block a user
Fix #146: untitled paste ID fallback renders as plain text like titled pastes
FUTURE: file/image attachments storage backend (S3?)
QA verdict — PR #129 (file attachments, fix-38-file-attachments)
Abuse matrix: PASS (all security checks)
- XSS: html/svg uploads served with safe content type;
<script>in filename/cont…
New paste: split title input into its own component, separate from language select + refresh
[MEDIUM] Admin key accepted via ?key= query parameter leaks the secret into proxy access logs
Pentest pass summary (palette-dev, 2026-09-09)
Unauthenticated + normal-user exploratory pass across rate limiting, admin authz, paste/attachment abuse, injection, info leakage, DOS, and…
Fix result box wrap: word boundaries, keep long-token breaking (#135)
Paste list: untitled pastes (ID fallback name) styled as code chip - should be plain text like titled pastes
[MEDIUM] Paste password accepted via GET ?password= query string leaks it into logs and history
[LOW] Long unbroken paste title causes double horizontal scrollbar at mobile width (375px)
[LOW] Deletion token accepted in the URL (?token=), leaking a bearer secret into logs/history
[LOW] Rate limiter keyed solely by IP: users behind one egress IP share a single create bucket (verified, informational)
History: pagination survives search/sort, pager pinned to page bottom
[MEDIUM] Admin key accepted via ?key= query parameter leaks the secret into proxy access logs
[LOW] Viewer cookie (vwr) lacks the Secure attribute
[LOW] CSP allows unsafe-inline for script-src and style-src