Velkommen tilbake til Sherlocks Vulnerability Spotlight, hvor vi fremhever en virkningsfull sårbarhet som ble avdekket under en Sherlock-revisjon. Denne uken undersøker vi et tjenestenekt som ble funnet i @GMX_IO-konkurransen av @0xdeadbeef____ og @IllIllI000. Takk til @int0x1catedCode for sammenbruddet.
Sammendrag av sikkerhetsproblemet: Sikkerhetsproblemet gjør det mulig for en angriper å manipulere ordreutførelsesflyten ved å oppgi falske tilbakestillingsårsakslengder som ikke samsvarer med de faktiske dataene. Dette fører til at protokollens feilhåndtering leser feil minneområder, noe som potensielt forstyrrer utførelsesprosessen eller forårsaker uventet oppførsel ved behandling av mislykkede ordrer.
Angrepstrinn: 1. Oppsett fase Distribuere en ondsinnet kontrakt som implementerer egendefinert tilbakestillingsvirkemåte Den ondsinnede kontrakten skal kunne aktiveres av målprotokollen (f.eks. som tilbakekallsbehandler). 2. Lag ondsinnede tilbakestillingsdata Strukturtilbakestill data med en forfalsket lengdeparameter. 3. Utfør ordre gjennom protokoll Opprett en ordre som vil utløse interaksjon med den ondsinnede kontrakten Når protokollen behandler ordren og kaller den ondsinnede kontrakten, går den tilbake med de utformede dataene. Protokollens feilhåndtering forsøker å dekode tilbakestillingsårsaken ved å bruke den falske lengden. 4. Utløs minneleseoverløp Protokollen leser minne basert på den falske lengdeparameteren Dette fører til at den leser utover de faktiske grensene for tilbakestillingsdata.
Hva er virkningen? Denial of Service: Ordrer kan mislykkes i å utføre riktig, noe som blokkerer legitime protokolloperasjoner som avvikling av dårlige posisjoner Ordreutførelsesavbrudd: Batchordrebehandling kan stoppes, noe som påvirker flere brukere Gasssorg: Behandling av misdannede tilbakestillingsdata kan forbruke for mye gass
Årsaken: 1. Ukontrollerte lengdeparametere: Protokollen stoler på lengdeverdien som er oppgitt i tilbakestillingsdata uten validering 2. Manglende grensekontroller: Ingen bekreftelse på at den påståtte lengden samsvarer med den faktiske datastørrelsen
Avbøtende tiltak: 1. Bekreft alltid tilbakestill datalengde 2. Implementer maksimale lengdegrenser
Vi er stolte over å ha bidratt til å sikre @GMX_IO gjennom dette funnet. Når det absolutt må være sikkert, er Sherlock det riktige valget.
Vis originalen
1,78k
11
Innholdet på denne siden er levert av tredjeparter. Med mindre annet er oppgitt, er ikke OKX forfatteren av de siterte artikkelen(e) og krever ingen opphavsrett til materialet. Innholdet er kun gitt for informasjonsformål og representerer ikke synspunktene til OKX. Det er ikke ment å være en anbefaling av noe slag og bør ikke betraktes som investeringsråd eller en oppfordring om å kjøpe eller selge digitale aktiva. I den grad generativ AI brukes til å gi sammendrag eller annen informasjon, kan slikt AI-generert innhold være unøyaktig eller inkonsekvent. Vennligst les den koblede artikkelen for mer detaljer og informasjon. OKX er ikke ansvarlig for innhold som er vert på tredjeparts nettsteder. Beholdning av digitale aktiva, inkludert stablecoins og NFT-er, innebærer en høy grad av risiko og kan svinge mye. Du bør nøye vurdere om handel eller innehav av digitale aktiva passer for deg i lys av din økonomiske tilstand.