Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Albort - it uses invalid “transient” variables causing logic errors. #60

Open
sherlock-admin2 opened this issue Nov 23, 2024 · 0 comments

Comments

@sherlock-admin2
Copy link

sherlock-admin2 commented Nov 23, 2024

Albort

High

it uses invalid “transient” variables causing logic errors.

Summary

The function that contains a logical error is checkTransaction(). The logical error stems from the misuse of the keyword transient in the variable declarations. In Solidity, the transient keyword does not exist. All state variables declared at the contract level are stored in storage, and their values persist between transactions.

Root Cause

In the checkTransaction() function, these variables are intended to be temporary and only valid during a single transaction execution. However, because they are declared as state variables without proper handling (the transient keyword is not recognized), they persist between transactions. This can cause incorrect behavior, especially with the reentrancy guard and state checks, leading to potential security vulnerabilities.

Therefore, the logical error is that the variables intended to be temporary are, in fact, persistent, which can lead to incorrect execution logic in the checkTransaction() function.

Internal pre-conditions

No response

External pre-conditions

No response

Attack Path

No response

Impact

No response

PoC

No response

Mitigation

No response

@sherlock-admin2 sherlock-admin2 changed the title Uneven Pine Sheep - it uses invalid “transient” variables causing logic errors. Albort - it uses invalid “transient” variables causing logic errors. Nov 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant