A critical issue has been identified in the smart contract code, where an incorrect version of Solidity has been used. The contract is currently utilizing Solidity version 0.8.27, which is not a released version. The correct, stable version to be used is 0.8.24. This discrepancy could lead to compatibility issues, undefined behavior, and potential security risks in the deployed contract.
The vulnerability arises from the use of an incorrect and unreleased version of the Solidity compiler. The contract specifies pragma solidity ^0.8.27;
, but the currently available stable version is 0.8.24
, with 0.8.27
being an invalid, unreleased version. This mismatch can lead to compilation failures, unexpected behavior, and potentially introduce untested features, which may cause security vulnerabilities or runtime issues in the deployed contract.
Compilation Failures: The contract may not compile successfully due to the mismatch between the specified Solidity version and the available versions.
Security Risks: Using an unreleased or unverified Solidity version could introduce new bugs, security vulnerabilities, or unstable features that might not have been tested or reviewed.
Runtime Issues: If the contract is compiled with the incorrect version and deployed, it could behave unexpectedly or fail to interact properly with other contracts, services, or dApps on the Ethereum network.
Potential Contract Failures: Issues arising from the incorrect version may lead to failed transactions, loss of funds, or unintended contract logic.
Manual review
Use the stable version <=0.8.24
(e.g., pragma solidity ^0.8.24;
).
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.