NieuwsCryptoCosmos Labs onderschatte bug voorafgaand aan exploit op zes chains ter waarde van $5.72M

Cosmos Labs onderschatte bug voorafgaand aan exploit op zes chains ter waarde van $5.72M

Auteur: Coindoo·

Belangrijkste punten

  • De Cosmos Hub zelf is niet gehackt; de fout zat in cosmos/evm-software die door zes netwerken werd gebruikt, waaronder MANTRA, TAC en KiiChain.
  • Aanvallers zetten ongeveer $5.72 miljoen om of verkochten dit, waarvan circa $2.85 miljoen via gecentraliseerde beurzen liep waarvan de rekeningen vervolgens werden bevroren.
  • De kwetsbaarheid was een integer-underflow die ontstond door gedelegeerde bedragen, inclusief vergrendelde tokens, af te trekken van een kleiner vrij besteedbaar saldo, waardoor directe diefstal van gebruikersfondsen mogelijk werd.
  • Cosmos Labs beoordeelde de bug aanvankelijk als beperkt nadat het deze niet kon reproduceren op chains met 18 decimalen, en de latere silent patches bevatten geen notities die de urgentie van het updaten duidelijk maakten.
  • Cosmos Labs wil de triage van kwetsbaarheden uitbreiden, het netwerk van beveiligingscontacten vergroten en verifiëren, en een externe audit van de operationele beveiliging uitvoeren.
Cosmos Labs onderschatte bug voorafgaand aan exploit op zes chains ter waarde van $5.72M

De Cosmos Hub is niet gehackt

Het incident bracht de Cosmos Hub niet in gevaar, en evenmin elke blockchain binnen het bredere Cosmos-ecosysteem. De fout zat in cosmos/evm, gedeelde software waarmee onafhankelijke Cosmos-gebaseerde netwerken Ethereum-compatibele applicaties kunnen draaien.

Volgens het incidentrapport van Cosmos Labs werden zes netwerken die deze software gebruikten tussen 20 augustus en 25 augustus uitgebuit. MANTRA, TAC en KiiChain werden genoemd in de gedetailleerde tijdlijn; het document identificeerde de andere drie niet publiekelijk.

Dat onderscheid is belangrijk: het voorkomt dat een storing in gedeelde software wordt neergezet als een misleidende “Cosmos-hack”. Dezelfde afbakening gold voor de The Sandbox bridge-exploit — een gecompromitteerde integratie betekende niet dat het volledige onderliggende protocol was gehackt.

Aanvallers zetten $5.72M om via twee routes

Cosmos Labs schatte dat aanvallers ongeveer $2.87 miljoen omwisselden via gedecentraliseerde venues, gebaseerd op prijzen van 19 augustus. Het omschreef dat bedrag als een schatting die niet onafhankelijk was geaudit. Nog eens $2.85 miljoen zou via gecentraliseerde beurzen zijn verkocht, waarmee het totaal omgezette of verkochte bedrag op ongeveer $5.72 miljoen uitkwam.

Cosmos Labs zei dat getroffen chains meldden dat de accounts op gecentraliseerde beurzen waren bevroren terwijl politieonderzoeken doorliepen. Het totale omgezette bedrag van $5.72 miljoen verandert niet, maar terugvordering van bevroren beursaldi kan het uiteindelijke nettoverlies verlagen.

De reactie beperkte ook de schade. Cosmos Labs werkte samen met 13 andere mogelijk blootgestelde netwerken om ze te patchen, stil te leggen of anderszins te beschermen zonder verdere gemelde incidenten, en coördineerde in totaal met 40 chains.

Hoe een boekhoudkundige mismatch geldige saldi blootlegde

De kwetsbaarheid ontstond doordat twee onderdelen van de software saldi verschillend berekenden. Cosmos EVM’s StateDB volgde alleen het bedrag dat een account direct kon uitgeven. Een Cosmos-vestingaccount kon echter zowel vrij besteedbare als vergrendelde tokens bevatten, en het staking-systeem stond toe dat vergrendelde tokens werden gedelegeerd.

Toen de software het volledige gedelegeerde bedrag aftrok van het kleinere vrij besteedbare saldo, kon een niet-gecontroleerde rekenkundige underflow het resultaat laten doorrollen naar een getal dicht bij 2^256. Een aanvaller kon die underflow vervolgens combineren met een overflow tijdens een overdracht.

De reeks creëerde geen blijvende toename van de totale voorraad. In plaats daarvan kon een account van een slachtoffer met een hoog saldo tot nul worden teruggebracht en bleef de aanvaller achter met het saldo dat eerder op dat account stond. Daarmee was de fout een direct risico op diefstal van fondsen, niet slechts een onjuiste weergave of een boekhoudkundige afwijking.

De waarschuwing kwam bijna vier maanden vóór de aanvallen

De diefstal was het einde van een langere reeks. De doorslaggevende fout werd gemaakt tijdens de eerste beoordeling, maanden voordat iemand de code uitbuitte.

Cosmos Labs zag een productierisico aan voor routineonderhoud

Het oorspronkelijke proof of concept gebruikte een chain met zes decimalen. Cosmos Labs testte configuraties met 18 decimalen, kon het resultaat niet reproduceren en concludeerde dat bekende productienetwerken veilig waren. Die conclusie was onjuist: de onderliggende mismatch in saldi kon elke Cosmos EVM-chain treffen, ongeacht de decimale configuratie.

Toen latere rapporten de bredere reikwijdte bevestigden, wist Cosmos Labs dat productiemiddelen blootstonden. Het koos voor een silent-patchingproces dat bedoeld was om de gefixte code in handen van operators te krijgen zonder details te publiceren die aanvallers konden helpen.

De releases waren ongeveer 20 uur vóór de eerste bekende aanval beschikbaar, maar de release notes vermeldden niet hoe ernstig het probleem was en vertelden operators niet dat uitstel van de upgrade gebruikersfondsen kon blootstellen. Operators konden zien dat nieuwe releases beveiligingsfixes bevatten, maar de notes legden niet uit dat ongepatchte chains risico liepen op verlies van fondsen.

De openbaarmaking werd de volgende ochtend publiek. Een pull request in een downstream fork beschreef het aanvalspad en identificeerde de getroffen release-tags ongeveer 12 uur vóór de eerste aanval. De publieke pull request gaf aanvallers een duidelijker pad, terwijl Cosmos Labs operators al zonder waarschuwing had gelaten die de urgentie uitlegde.

De dilemma’s waar Cosmos Labs mee te maken had, zijn bekend in open-sourcebeveiliging: een kwetsbaarheid volledig openbaar maken kan aanvallers bewapenen voordat elke operator heeft gepatcht, terwijl zwijgen operators in het ongewisse kan laten over de urgentie. Gecoördineerde openbaarmaking in de softwaresector probeert precies dat evenwicht te vinden, en dit incident laat zien wat er gebeurt wanneer dat evenwicht aan beide kanten verkeerd uitvalt.

Cosmos wist niet elke chain die gewaarschuwd moest worden

Zelfs een privaat waarschuwingsproces werkt alleen als maintainers weten wie ze moeten benaderen. Cosmos Labs zei dat het ecosysteem meer dan 115 bekende publieke chains omvat, maar geen volledig register heeft. Tijdens de respons ontdekte het 11 Cosmos EVM-deployments die niet in de beveiligingskanalen waren geregistreerd.

Cosmos Labs beheerde de gedeelde code zonder te weten elk netwerk dat die software had uitgerold. Dat gat maakte het moeilijk om een vertrouwelijke waarschuwing af te leveren voordat genoeg informatie publiek werd om chain-teams zelf de dreiging te laten herkennen.

De tijdlijn van de respons laat ook zien waarom de boodschap expliciet moest zijn. Nadat MANTRA de eerste aanval meldde, stuurde Cosmos Labs ongeveer twee uur later zijn eerste kritieke beveiligde e-mail. TAC werd ongeveer 45 uur na MANTRA aangevallen, ondanks eerdere communicatie, en de richtlijn werd later aangescherpt tot het advies aan alle Cosmos EVM-chains om te stoppen.

Voor onafhankelijke Cosmos EVM-chains was het publiceren van de code niet voldoende. Hun teams moesten nog steeds leren dat de upgrade urgent was en een state-breaking release coördineren.

Kwetsbare chains moeten upgraden of stoppen

De kritieke beveiligingsmelding noemt versies vóór 0.6.2 en versies vanaf 0.7.0 tot, maar niet inclusief, 0.7.2 als getroffen. Operators moeten overstappen naar Cosmos EVM 0.6.2, 0.7.2 of een latere release.

Er is geen oplossing alleen via configuratie. Het uitschakelen van de staking precompile verwijdert de primaire trigger die in de melding wordt beschreven, maar Cosmos Labs ziet die stap niet als vervanging voor een upgrade. Een chain die niet onmiddellijk een gepatchte release kan installeren, moet worden stilgelegd.

BTCPay gaf recent vergelijkbare versie-specifieke instructies na bevestiging van gestolen fondsen: update getroffen installaties of haal ze offline. In beide gevallen is de bruikbare richtlijn concreet, omdat het risico afhangt van de gebruikte softwareversie.

De volgende fix zit in het openbaarmakingsproces

Cosmos Labs zei dat het de triage van kwetsbaarheden wil uitbreiden voorbij het proof of concept van de melder, het netwerk van beveiligingscontacten wil vergroten en wil controleren of die contacten nog reageren. Het bedrijf plant ook duidelijkere standaarden voor private en silent patches, inclusief wanneer maintainers moeten adviseren om te stoppen in plaats van een gecoördineerde upgrade uit te voeren. Ook komt er een externe audit van de operationele beveiligingspraktijken.

Die veranderingen pakken het deel van het incident aan dat een andere codepatch niet kan oplossen: hoe een gedecentraliseerde groep onafhankelijke chains een tijdkritische waarschuwing ontvangt, begrijpt en erop handelt. De eerste beoordeling versmalde de bug te snel. Het latere releaseproces verborg de urgentie voor sommige mensen van wie werd verwacht dat zij de fix zouden installeren. De code was beschikbaar vóór de eerste aanval. Wat meerdere operators ontbrak, was een waarschuwing dat afwachten gebruikersfondsen kon kosten.

Het artikel is uitsluitend bedoeld ter informatie en vormt geen financieel, beleggings- of beveiligingsadvies. Netwerkoperators moeten de officiële Cosmos EVM-melding raadplegen en hun uitgerolde versie verifiëren.

Het bericht Cosmos Labs onderschatte bug voorafgaand aan exploit op zes chains ter waarde van $5.7M verscheen eerst op Coindoo.