The $8m Platypus flash mortgage assault was made attainable due to code that was in the incorrect order, based on a submit mortem report from Platypus auditor Omniscia. The auditing firm claims the problematic code didn’t exist within the model they noticed.
In gentle of the latest @Platypusdefi incident the https://t.co/30PzcoIJnt group has ready a technical autopsy evaluation describing how the exploit unravelled in nice particulars.
You’ll want to observe @Omniscia_sec to obtain extra safety updates!https://t.co/cf784QtKPK pic.twitter.com/egHyoYaBhn
— Omniscia (@Omniscia_sec) February 17, 2023
In response to the report, the Platypus MasterPlatypusV4 contract “contained a deadly false impression in its emergencyWithdraw mechanism” which made it carry out “its solvency examine earlier than updating the LP tokens related to the stake place.”
The report emphasised that the code for the emergencyWithdraw perform had all the essential parts to stop an assault, however these parts have been merely written within the incorrect order, as Omniscia defined:
“The difficulty might have been prevented by re-ordering the MasterPlatypusV4::emergencyWithdraw statements and performing the solvency examine after the consumer’s quantity entry has been set to 0 which might have prohibited the assault from happening.”
Omnisia admitted that they audited a model of the MasterPlatypusV4 contract from Nov. 21 to Dec. 5, 2021. Nevertheless, this model “contained no integration factors with an exterior platypusTreasure system” and subsequently didn’t include the misordered traces of code. From Omniscia’s perspective, this means that the builders will need to have deployed a brand new model of the contract sooner or later after the audit was made.
Associated: Raydium declares particulars of hack, proposes compensation for victims
The auditor claims that the contract implementation at Avalanche (AVAX) C-Chain handle 0xc007f27b757a782c833c568f5851ae1dfe0e6ec7 is the one which was exploited. Traces 582-584 of this contract seem to name a perform referred to as “isSolvent” on the PlatypusTreasure contract, and features 599-601 seem to set the consumer’s quantity, issue, and rewardDebt to zero. Nevertheless, these quantities are set to zero after the “isSolvent” perform has already been referred to as.
The Platypus group confirmed on Feb. 16 that the attacker exploited a “flaw in [the] USP solvency examine mechanism,” however the group didn’t initially present additional element. This new report from the auditor sheds additional gentle on how the attacker might have been capable of accomplish the exploit.
The Platypus group introduced on Feb. 16 that the assault had occurred. It has tried to contact the hacker and get the funds returned in change for a bug bounty. The attacker used flashed loans to carry out the exploit, which is analogous to the technique used within the Defrost Finance exploit of Dec. 25.