CVE-2023-46247: falha de alta gravidade em vyperlang vyper
Vyper has incorrect storage layout for contracts containing large arrays
Publicada em · Atualizada em
Aviso por e-mail quando ela entrar no KEV, ganhar PoC pública ou subir de nota.
21Vexday Risk Score
Sem sinal de exploração. Nenhum artefato público de exploração conhecido até agora.
ssvc Trackcvss 7.5epss 0.7%
Vyper is a Pythonic Smart Contract Language for the Ethereum Virtual Machine (EVM). Contracts containing large arrays might underallocate the number of slots they need by 1. Prior to v0.3.8, the calculation to determine how many slots a storage variable needed used `math.ceil(type_.size_in_bytes / 32)`. The intermediate floating point step can produce a rounding error if there are enough bits set in the IEEE-754 mantissa. Roughly speaking, if `type_.size_in_bytes` is large (> 2**46), and slightly less than a power of 2, the calculation can overestimate how many slots are needed by 1. If `type_.size_in_bytes` is slightly more than a power of 2, the calculation can underestimate how many slots are needed by 1. This issue is patched in version 0.3.8.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Produtos afetados
vyperlang · vyperCVEs relacionadas — vyperlang vyper
No mesmo produto, das mais perigosas para as menos.
CVE-2024-24563CRITICALVyper array negative index vulnerabilityEPSS 1.5%CVE-2022-24845HIGHInteger bounds error in VyperEPSS 1.4%CVE-2022-29255HIGHMultiple evaluation of contract address in call in vyperEPSS 1.3%CVE-2023-31146HIGHVyper vulnerable to OOB DynArray access when array is on both LHS and RHS of an assignmentEPSS 1.3%CVE-2021-41121HIGHMemory corruption in VyperEPSS 1.1%CVE-2022-24787HIGHIncorrect Comparison in VyperEPSS 1.0%