Platform: Code4rena
Start Date: 13/11/2023
Pot Size: $24,500 USDC
Total HM: 3
Participants: 120
Period: 4 days
Judge: 0xTheC0der
Id: 306
League: ETH
Rank: 65/120
Findings: 2
Award: $5.45
🌟 Selected for report: 0
🚀 Solo Findings: 0
🌟 Selected for report: rvierdiiev
Also found by: 0x175, 0x3b, 0xMango, 0xarno, 0xpiken, Bauchibred, DarkTower, ElCid, Giorgio, HChang26, Kose, KupiaSec, Madalad, PENGUN, Pheonix, RaoulSchaffranek, SpicyMeatball, T1MOH, Tricko, Udsen, Yanchuan, aslanbek, ast3ros, bart1e, bin2chen, chaduke, d3e4, deepkin, developerjordy, glcanvas, inzinko, jasonxiale, jnforja, mahyar, max10afternoon, mojito_auditor, neocrao, nmirchev8, openwide, osmanozdemir1, peanuts, pep7siup, peritoflores, pontifex, rice_cooker, rouhsamad, t0x1c, tnquanghuy0512, turvy_fuzz, twcctop, ustas, vangrim, zhaojie, zhaojohnson
1.3743 USDC - $1.37
https://github.com/code-423n4/2023-11-canto/tree/main/1155tech-contracts/src/Market.sol#L150 https://github.com/code-423n4/2023-11-canto/tree/main/1155tech-contracts/src/Market.sol#L174
The vulnerability arises from the absence of slippage protection in the buy/sell functions of the smart contract. This exposes users to unintended consequences, where the token price, influenced by a bonding curve, may not align with their expectations. This unintentional scenario occurs when users are unable to specify an acceptable price target during transactions, leading to potential overpayment.
50 * increaseStep
higher.Manual Review
To mitigate this critical vulnerability, it is advised to introduce slippage protection in the buy/sell functions. This safeguard empowers users to set an acceptable price range, preventing unintentional consequences and ensuring transactions align with their anticipated costs.
MEV
#0 - c4-pre-sort
2023-11-18T10:43:20Z
minhquanym marked the issue as duplicate of #12
#1 - c4-judge
2023-11-28T23:35:12Z
MarioPoneder marked the issue as satisfactory
🌟 Selected for report: chaduke
Also found by: 0xpiken, Bauchibred, Matin, MohammedRizwan, MrPotatoMagic, OMEN, Pheonix, SandNallani, T1MOH, Topmark, ZanyBonzy, adriro, aslanbek, ayden, bareli, bart1e, bin2chen, btk, cheatc0d3, codynhat, critical-or-high, d3e4, erebus, firmanregar, hunter_w3b, jasonxiale, kaveyjoe, ksk2345, lsaudit, max10afternoon, merlinboii, nailkhalimov, osmanozdemir1, peanuts, pep7siup, pontifex, sbaudh6, shenwilly, sl1, tourist, wisdomn_, young, zhaojie
4.0797 USDC - $4.08
https://github.com/code-423n4/2023-11-canto/tree/main/1155tech-contracts/src/Market.sol#L118
The createNewShare
function in the 1155Tech Market contract allows for the creation of shares susceptible to reorg attacks on certain chains like Arbitrum, Optimism, and Polygon.
Sponsor confirmed 1155tech could be deployed on different chain:
The impact is severe, as a malicious actor can exploit the reorg vulnerability during the share market listing event. If users rely on share IDs obtained in advance and initiate buy actions based on them, a malicious actor could frontrun the process during a reorg, resulting in the unauthorized sale of shares and the theft of user funds.
createNewShare
to obtain the share ID.createNewShare
is executed, assigning a new share ID (+1).Manual Review
To address this critical vulnerability, it is recommended to add a warm-up period to shareData
before buy/sell transactions can take place. This ensures that a sufficient amount of time has passed, making reorg attacks impossible during the creation of new shares.
MEV
#0 - c4-pre-sort
2023-11-20T07:48:10Z
minhquanym marked the issue as duplicate of #313
#1 - c4-judge
2023-11-29T00:16:48Z
MarioPoneder changed the severity to QA (Quality Assurance)
#2 - c4-judge
2023-11-29T22:31:06Z
MarioPoneder marked the issue as grade-c
#3 - c4-judge
2023-12-04T12:06:30Z
MarioPoneder marked the issue as grade-b