The Wormhole hack exploited a security vulnerability where the bridge's signature verification system relied on a deprecated Solana system instruction (load_instructions_at) that failed to verify if instructions came from trusted system accounts, allowing attackers to create malicious accounts that mimicked system instructions and bypass authentication to steal $326 million in assets.
Wormhole Bridge Hack: Technical Analysis of Signature Verification Bypass
Added:[Music] [Music] in this episode of deciphered we're going to go down the wormhole and look at the technical details of what happened on the recent wormhole hack i'm stephen wabrel the csun co-founder from halbourne and i welcome you to this episode of deciphered wormhole is one of many bridges that allows users to exchange assets between different chains like ethereum and solana now this isn't such a trivial task because they're coded in different programming languages solana is in rust and ethereum smart contracts are mostly coded in solidity they can often create vulnerabilities that are unpredictable unexpected and haven't been discovered before so wormhole uses the concept of guardians which are responsible for signing off for transfers between solana and ethereum now these aren't people this is logic coded within the contracts and programs of solana and this is done by calling the function post va within the solana program so the post va function here in the program doesn't actually check the signatures instead by calling the verify signatures function which calls to the guardians and expects them to return a signature set that is valid so it can execute the transaction across the bridge so while this verify signatures function is meant to take the signatures provided by the guardians and put it into a signature set it doesn't actually do the verification itself instead it's delegating it over to the secp 256 k1 program now this is where the problem gets introduced the secp 256k1 program is delegated to verify the transaction but it relies on a standard solana program that's called load instructions at within sysvar instructions this is a set of instructions that is considered a system account or built into solana but it just so happens that right before the wormhole deployment and the bridge being set up that solana deprecated the load instructions at and replaced it with a load instructions at checked instead because the previous version used in the wormhole bridge doesn't check that it's coming from a trusted system account so what does this all mean and what does this have to do with the wormhole hack this means that the attacker could take a program that they control that has the same instruction sets as the system account and use it to verify the signatures and bypass authentication and sure enough that's exactly what happened you could see a normal transaction on the left where verify signatures uses the sysvar instructions and the one on the right that the attacker used where they created three hours earlier their own account that had their own instructions used to trick the guardians and bypass the signature verification and then once their signature was accepted a signature site was made and sent to a function called complete wrapped which would tell the bridge to go ahead and authorize the transfer of ether outside the bridge and allow the attacker to withdraw all of it on the ethereum side so summarizing everything we just discussed let's go through what happened step by step the attacker first created a programmable solano side that would allow him to bypass the signature validation that the guardians provided because they assumed it was a system account and not a user created account this was because of that deprecated function included inside of the wormhole bridge load instructions at once that account was set up on the solana side the attacker called complete transfer on the ethereum side wormhole bridge contract with the correct encoding provided it was sent over to the solana side of the bridge and called post va post va would then call the verify signatures and then verify signatures would delegate the verification to the attacker's created account which would send back the ok to the guardians create a signature set which would pass the validator action approval and allow the attacker to complete the transfer and withdraw the funds on the ethereum side of the bridge [Music] you
Up Next

Cryptocurrency Market Updates: Hacks, NFTs, and Adoption Trends
@AltcoinDaily
74.1K views•2022-03-29

Torrent File Format & Bencoding: A Technical Deep Dive
@AsliEngineering
12.5K views•2022-08-08

Operational Security Essentials: A Guide for Hacktivists (OPSEC)
@hitbsecconf
157.4K views•2012-11-26

Understanding Ethereum: A Comprehensive Beginner's Overview
@99Bitcoins
3.1M views•2018-06-26
Related Study Plans & Knowledge Roadmaps
Structured learning paths in Blockchain & Crypto

![El MEJOR puente CRIPTO [BRIDGE] para operar entre diferentes Blockchains | Tutorial JUMPER](https://i.ytimg.com/vi_webp/4LyDKaqARKM/maxresdefault.webp)










![How Safe is Message Signing? [Solana Tutorial] - Aug 28th '23](https://i.ytimg.com/vi/QHkOQeSr4MM/maxresdefault.jpg)
























