Normal behavior:
Investors should buy shares proportional to meaningful capital contributions.
Specific issue:
The contract lets anyone call fund_investor() with any nonzero ETH, issuing shares proportionally. This allows an attacker to send dust amounts (e.g., 1 wei) to repeatedly inflate issued_shares, diluting future investors’ value and potentially skewing share_price calculations.
Likelihood:
High — Any user or bot can cheaply spam micro-investments.
Impact:
Medium — Dilutes ownership and corrupts share-based logic (e.g., dividends or payouts).
Explanation:
Each 1-wei call increases issued_shares, altering share ratios without meaningful capital input.
Mitigation Explanation
The core issue is that very small (“dust”) investments can still create shares, which allows attackers to inflate issued_shares and dilute legitimate investors.
The mitigation adds a minimum investment threshold (MIN_INVESTMENT) to the fund_investor() function. This ensures that any ETH sent below the threshold is rejected, preventing micro-investment abuse while preserving proportional share issuance for genuine investors.
By enforcing this rule:
Share issuance remains economically meaningful.
Dilution from spam or negligible contributions is eliminated.
Share-price calculations remain accurate and predictable.
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.