Skip to content
OpenAdvisories
Low · 2.3 CVE-2025-26622 EUVD-2025-4284GHSA-2p94-8669-xg86PYSEC-2025-29

sqrt doesn't define rounding behavior in Vyper

Published Feb 21, 2025 · Updated Feb 22, 2025 · Assigned by GitHub_M

Description

vyper is a Pythonic Smart Contract Language for the EVM. Vyper `sqrt()` builtin uses the babylonian method to calculate square roots of decimals. Unfortunately, improper handling of the oscillating final states may lead to sqrt incorrectly returning rounded up results. This issue is being addressed and a fix is expected in version 0.4.1. Users are advised to upgrade as soon as the patched release is available. There are no known workarounds for this vulnerability.

Affected products

VendorProductAffectedFixed
vyperlang vyper < 0.4.1 —

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI vyper < 0.4.1 0.4.1 GHSA-2p94-8669-xg86

References