Dmitriy Shagov retweeted
In November, I submitted a critical bug to Cronos (@cronosapp) which they downplayed and have since been kicked off Immunefi. Here's some info about the bug and an example of how projects can simply not pay a fair amount.
Report: gist.github.com/fatherGoose1…
tl;dr:
- It's a simple staking contract where you stake your TONIC and receive xTonic at the current exchange rate.
- The vulnerability lies in a function called performConversionForERC20() which allows anyone to convert other tokens held by the contract into TONIC.
- This function is vulnerable to reentrancy because the caller sets an arbitrary swap path and can inject a malicious token in the middle to gain control of execution.
- The contract determines the estimated amount of TONIC that should be received by the swap, and any extra goes to the caller as a reward.
- But since there is reentrancy, the caller can also STAKE their TONIC prior to the above function completion.
- The caller's stake is honored AND they are transferred back their TONIC, essentially receiving free staked tokens.
Caveat:
There is a 10 day unstaking delay. So the exploiter would not be able to actually convert the staked tokens back into TONIC until the cooldown period had passed.
What Cronos said:
Thank you for reporting this issue.
The team has verified that the exploit described can indeed work. From our side, we have safeguards in place to mitigate these risks; such as a 10 days delay period for the xTonic minted. As such, there is a low possibility of the exploit realising; as the issue will be rectified before the exploiter can launder the gotten funds.
However, we do appreciate your effort in identifying this issue and plan to update the contract to eliminate the risk entirely. In addition, we are happy to reward you with USD1,600 as a token of appreciation.
Actions:
Cronos fixed the vulnerability immediately, before even responding to the report.
My thoughts:
Obvious lowball. Cronos's max bounty was $250,000 and they offered $1,600. I understand the technicality with this attack, and would have agreed to a payout less than the max, but the payout would have to accurately represent the value of this report.
Mediation:
Immunefi mediated twice and confirmed that this report deserved the max bounty. Immunefi told Cronos that a simple unstaking delay is not an adequate means of protection.
Cronos claimed:
"We have implemented a robust monitoring framework, consisting of internal systems, protocols, and strategic third-party partnerships, which promptly respond to any anomalies within our smart contracts. This is the standard of any big organization, and we refrain from disclosing further specifics to maintain the integrity of our security protocols."
When Immunefi asked them to provide any information regarding their automated detection and mitigation processes, Cronos would not comply.
Result:
Cronos was kicked off Immunefi.
Final thoughts from Django:
'Tis the life of a bug hunter.
•Attack Complexity: High
•User Interaction: Required
What?!
HackerOne disclosed a bug submitted by @bebiksior: hackerone.com/reports/218052… - Bounty: $2,500 #hackerone #bugbounty
Dmitriy Shagov retweeted
Greetings, everyone! Happy to share that Degoverned.com is transitioning from an invite-only platform to a public alpha.
Dmitriy Shagov retweeted
I am pleased to start offering private audits under the Trust Security label!
DMs are open.
Would appreciate a RT to reach the large developer ecosystem🙏
Fellow whitehats are being scammed out of their bounties by @O3_Labs.
Imo, this requires better attention from both community and @Immunefi
@MitchellAmador can mediation do something more than just removing O3 from the platform?
Are there ways to enforce the mediation decision?
Your Tesla X can do 5-100km/h in 2.8 seconds, but can it also do 100k to 5k ?
Because that's what O3 Swap did when we submitted a MAX critical bounty last month.
Read all about it here:
trustindistrust.com/post/cri…
@O3_Labs Shame on you👿
Ha-ha-ha-ha. Company is refusing to pay for my valid in-scope critical (mediation confirmed) that they fixed.
And instead is offering me to compensate the time I spent to write the report. Welcome to crypto bug bounties on @immunefi! xD
Big thanks to @immunefi for helping in this situation. Process was not easy, took quite some time, but mediation helped a ton in this case.
Dmitriy Shagov retweeted
PayPal has blocked our business account and is holding $1.3M for more than 2 months without explaining what exactly they are not happy with. Even @PayPal support doesn't know what's going on. ⚠️This endangers the production of Flipper Zero in general. More details in thread 1/5
Poll is inspired by program from the screenshots.
While testing this CensoredApp I saw it sending requests to censored.app/api/... with XML data.
Obvious guess to check for XXE worked out and it returned their /etc/shadow.
Now I'm told that it is OOS. What do you think?
When you see a mobile app in scope for the bounty, do you consider that 1st party server-side APIs are in-scope or not?
I'm talking about usual situations where Org owns the app, and the app clearly uses backend APIs developed by this Org (not some 3rd party stuff).
91%Backend APIs in scope
9%Out of scope
151 votes • Final resultsWhen you see a mobile app in scope for the bounty, do you consider that 1st party server-side APIs are in-scope or not?
I'm talking about usual situations where Org owns the app, and the app clearly uses backend APIs developed by this Org (not some 3rd party stuff).
91%Backend APIs in scope
9%Out of scope
151 votes • Final resultsHilarious bug bounty story. Reported an RCE to one of the @immunefi programs. Their scope was hxxps://app.com. When loaded, their app sent requests to hxxps://api.app.finance. And by modifying one of these requests i gained RCE.
And now the real question. What should I do? Accept the bounty? Tell them to stick their $500 into some interesting place? Name and shame?
Dmitriy Shagov retweeted
How I stopped hunting on @Hacker0x01 after years because they stole my $50k.
#HackerOne #BugBounty
medium.com/@skavans_/how-i-s…














