You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Our team at FuzzingLabs discovered an non-compliance, during the execution of the RETURN operation in Lambdaclass's EVM implementation, an additional value (1) is pushed onto the stack. This behavior deviates from the expected behavior as outlined in the Ethereum Yellow Paper.
Here, SUCCESS_FOR_RETURN is a constant defined as 1. This results in the stack being modified during the RETURN operation, with the value 1 added to it.
Impact
Non-compliance with the Ethereum Specification:
The Yellow Paper does not mention any modification of the stack during the RETURN operation.
Interoperability Issues:
Smart contracts may exhibit unintended behavior when deployed on Lambdaclass compared to other EVMs, as the additional stack value could lead to unexpected results.
Compatibility Problems:
Testing or migrating contracts between Lambdaclass and other clients (e.g., REVM, Geth) may lead to inconsistent results.
The text was updated successfully, but these errors were encountered:
**Motivation**
Fixes a bug found by [FuzzingLabs](https://github.com/FuzzingLabs) in
return opcode implementation.
**Description**
Now return opcode does not pushes 1 in the stack in case of success,
since it is not the documented behavior.
Closes#1224
Our team at FuzzingLabs discovered an non-compliance, during the execution of the RETURN operation in Lambdaclass's EVM implementation, an additional value (
1
) is pushed onto the stack. This behavior deviates from the expected behavior as outlined in the Ethereum Yellow Paper.Root cause
The code responsible for this behavior is as follows:
Here,
SUCCESS_FOR_RETURN
is a constant defined as1
. This results in the stack being modified during theRETURN
operation, with the value1
added to it.Impact
RETURN
operation.The text was updated successfully, but these errors were encountered: