looking at the CVE report itself, Math.random() not being crypto-level seems to be known? - and vulnerability comes from Node.js using it for some crypto purpose
so OP simply did a good exercise for himself recreating exact weakness of it
replies(1):