v1.1.1
Security
-
Fix CPU exhaustion via O(n²) BigInt construction on radix-prefixed integer literals (GHSA-wp3c-266w-4qfq, CWE-400, CWE-407).
The
0x/0o/0binteger parser previously used a hand-writtenBigIntaccumulator loop that ran in O(n²) in the literal length, allowing a single attacker-supplied ~500 kB radix literal to block the Node.js event loop for tens of seconds. The fix switches to the V8 nativeBigInt(prefixedString)constructor (O(n)) and caps radix-prefixed literals at 1000 digits, matchingjackson-core'sStreamReadConstraints.maxNumberLengthdefault.All users on 1.1.0 or earlier are affected and should upgrade to 1.1.1.
Reported and patched by @tonghuaroot — thank you.
Full changelog: v1.1.0...v1.1.1