Проблема с prototype pollution реально кроется в том, что вроде бы обычный код с deepMerge превращается в ловушку — данные из запроса внезапно вливаются в прототип и меняют поведение всего приложения. Особенно прикольно, когда баг проявляется не сразу, а в нескольких местах по цепочке. Поэтому лучше явно указывать, какие поля мутировать, а не впускать всё подряд. И Object.create(null) — спасение от таких грязных сюрпризов.