CVE-2024-32481
Scores
EPSS
Percentile: 0.0%
CVSS
CVSS Score: 5.3/10
All CVSS Scores
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Vector Breakdown
CVSS (Common Vulnerability Scoring System) vector provides detailed metrics about vulnerability characteristics
CVSS
Attack Vector
Network (N)
Describes how the vulnerability is exploited
Attack Complexity
Low (L)
Describes the conditions beyond the attacker's control
Privileges Required
None (N)
Describes the level of privileges an attacker must possess
User Interaction
None (N)
Captures the requirement for a human user participation
Scope
Unchanged (U)
Determines if a successful attack impacts components beyond the vulnerable component
Confidentiality Impact
None (N)
Measures the impact to the confidentiality of information
Integrity Impact
Low (L)
Measures the impact to integrity of a successfully exploited vulnerability
Availability Impact
None (N)
Measures the impact to the availability of the impacted component
Description
Vyper is a pythonic Smart Contract Language for the Ethereum virtual machine. Starting in version 0.3.8 and prior to version 0.4.0b1, when looping over a range of the form range(start, start + N), if start is negative, the execution will always revert. This issue is caused by an incorrect assertion inserted by the code generation of the range stmt.parse_For_range(). The issue arises when start is signed, instead of using sle, le is used and start is interpreted as an unsigned integer for the comparison. If it is a negative number, its 255th bit is set to 1 and is hence interpreted as a very large unsigned integer making the assertion always fail. Any contract having a range(start, start + N) where start is a signed integer with the possibility for start to be negative is affected. If a call goes through the loop while supplying a negative start the execution will revert. Version 0.4.0b1 fixes the issue.
Scaner-VS 7 — a modern vulnerability management solution
Sources
CWEs
Vulnerable Software (2)
Type: Configuration
Operating System:
{ "children": [ { "cpe_match": [ { "cpe23uri": "cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:python:*:*", "versionEndExcluding": "0.4.0b1", "versionStartInclud...
{ "children": [ { "cpe_match": [ { "cpe23uri": "cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:python:*:*", "versionEndExcluding": "0.4.0b1", "versionStartIncluding": "0.3.8" } ], "negate": false, "operator": "OR" } ], "operator": "OR"}
Source: anchore_overrides
Type: Configuration
Vendor: vyperlang
Product: vyper
Operating System: * * *
{ "cpe_match": [ { "cpe23uri": "cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:python:*:*", "versionEndIncluding": "0.3.10", "versionStartIncluding": "0.3.8", "vulnerable": true ...
{ "cpe_match": [ { "cpe23uri": "cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:python:*:*", "versionEndIncluding": "0.3.10", "versionStartIncluding": "0.3.8", "vulnerable": true }, { "cpe23uri": "cpe:2.3:a:vyperlang:vyper:0.4.0:-:*:*:*:python:*:*", "vulnerable": true } ], "operator": "OR"}
Source: nvd