HardhatDeFi
15,000 USDC
View results
Submission Details
Severity: medium
Invalid

Missing Input Validation

Summary

  • Affected Contract: AaveDIVAWrapper.sol

  • Affected Functions:

    • registerCollateralToken

    • createContingentPool

    • addLiquidity

    • removeLiquidity

    • redeemPositionToken

    • redeemWToken

    • claimYield

    • approveCollateralTokenForAave

    • Batch functions (batchRegisterCollateralToken, batchCreateContingentPool, etc.)

Vulnerability Details

The contract lacks explicit validation for critical inputs, leading to security risks:

  • Zero Address Checks: No validation for address parameters (e.g., _collateralToken, _recipient), allowing address(0) inputs.

  • Parameter Validation: Struct parameters (e.g., _poolParams) are not validated to ensure values are within expected ranges or formats.

Impact

  • Unexpected Behavior: Invalid inputs can result in unintended actions, such as sending tokens to unrecoverable addresses.

  • Security Risks:

    • Loss of tokens (e.g., tokens sent to address(0)).

    • Incorrect contract state due to invalid parameters.

  • User Experience Issues: Users may encounter errors or unexpected results.

Tools Used

  • Manual Code Review: Identified missing input validation in critical functions.

  • Static Analysis Tools: Slither and Mythril were be used to detect similar issues.

Recommendations

  • Add Input Validation:

    • Implement require statements for zero address checks:

      require(_collateralToken != address(0), "Invalid collateral token address");
      require(_recipient != address(0), "Invalid recipient address");
    • Validate struct parameters to ensure they meet expected constraints.

  • Apply Validation to Batch Functions:

    • Ensure batch processing functions enforce the same checks as single function calls.

Updates

Lead Judging Commences

bube Lead Judge 9 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.