~/talk

This DoS goes loop-di-loop – preventing DoS attacks in your Node.js application

Talkat XtremeJS 2025 · on Tuesday, 2025-12-02· [nodejs, security]
links:none on file
slides:none on file

Node.js request handling blocks when heavy parsing or sync work runs on the event loop: raw JSON parsing scales linearly so large bodies tie up the server (limit sizes or offload to BFJ or JSONStream to run in worker threads), XML entity bombs expand tiny payloads to massive memory (7 levels: ~650 bytes → ~30MB; 8 levels → ~1GB) so disable entities or sanitize, catastrophic regex backtracking makes 33–35 A’s take minutes (use RE2 or vetted libs), and never use sync file IO — always async/fs promises.

AI-written summary · about

  1. 0:00DoS attacks in Node.js
  2. 2:47Node.js event loop risks
  3. 6:19JSON parsing DoS
  4. 11:19XML bombs attack
  5. 16:50YAML bombs risks
  6. 17:57Regex backtracking DoS
  7. 23:59Blocking storage DoS
  8. 27:12Summary prevention
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.