Description
libp2p is a JavaScript Implementation of libp2p networking stack. Prior to 16.0.0, @libp2p/gossipsub defaultDecodeRpcLimits set maxIhaveMessageIDs and maxIwantMessageIDs to Infinity, allowing oversized IHAVE and IWANT control message arrays in message/decodeRpc.ts and gossipsub.ts to synchronously iterate roughly 180,000 message IDs per 4 MB frame and block the Node.js event loop. This issue is fixed in version 16.0.0.
Problem types
CWE-770: Allocation of Resources Without Limits or Throttling
Product status
References
github.com/...libp2p/security/advisories/GHSA-cwc9-cp4j-mcvv
github.com/libp2p/js-libp2p/pull/3520
github.com/...ommit/773dd80ded24dbd6b19e675c89fd2f3b45f2d899
github.com/libp2p/js-libp2p/releases/tag/gossipsub-v16.0.0