Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions src/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,10 @@ export interface ServerDeps {

const CHAT_EVENT_TYPES = new Set(['MESSAGE', 'ADDED_TO_SPACE', 'REMOVED_FROM_SPACE', 'CARD_CLICKED', 'UNKNOWN']);

/** Collapse control chars (incl. newlines) and cap length before logging untrusted text — prevents log forging. */
/** Drop line breaks, blank other control chars and cap length before logging untrusted text — prevents log forging. */
function logSafe(value: unknown): string {
// CodeQL only recognises an explicit line-break replace as cleaning.
return String(value).replace(/[\r\n]/g, ' ').replace(/\p{Cc}/gu, ' ').slice(0, 200);
// CodeQL only counts a replace that removes line breaks outright as cleaning.
return String(value).replace(/[\r\n]/g, '').replace(/\p{Cc}/gu, ' ').slice(0, 200);
}

export function createServer(deps: ServerDeps): Express {
Expand Down
Loading