Korisnici Cloudflareove usluge Containers mogli su pročitati ostatke podataka koje su na istom stroju ostavili drugi korisnici. Sigurnosni istraživač prijavio je propust 4. rujna, a tri dana kasnije popravak je već bio na snazi. Tvrtka je sada opisala što je pošlo po zlu.
Usluge u oblaku na istom hardveru vrte mnogo korisnika, a svaki očekuje da vidi samo svoje podatke. Ovdje se ta granica srušila na samom disku.
Prostor koji nitko nije obrisao
Containers, kao i usluga Sandboxes izgrađena na njemu, svakom spremniku daje vlastiti virtualni disk iz zajedničkog skupa prostora, u blokovima od 64 KiB. Kad bi se spremnik obrisao, njegovi bi se blokovi vratili u skup. Postavka skip_block_zeroing značila je da se prije toga ne brišu.
Novi spremnik koji bi u takav blok upisao mali komad podataka promijenio bi samo taj dio. Ostatak bloka i dalje je držao ono što je upisao prethodni vlasnik, a novi ga je korisnik mogao pročitati. Prema Cloudflareu, za to je bio dovoljan račun Workers Paid.
Što je istraživač našao
Propust je preko platforme HackerOne, koja plaća za sigurnosne nalaze, prijavio Oren Yomtov iz tvrtke Accomplish. U testovima su se ostaci tuđih podataka pojavili na 18 od 24 smještaja spremnika i na 20 od 22 fizička stroja, na četiri kontinenta.
Među pronađenim bile su strukture mapa, stranice baza podataka i cijele baze SQLite. Prema BleepingComputeru, ondje su mogli biti i profili preglednika, konfiguracijske datoteke i datoteke s podacima za prijavu.
Popravljeno, bez traga zlouporabe
Cloudflare je isključio spornu postavku, povukao diskove spremnika koji su bili u upotrebi i očistio spremljene snimke. Čišćenje cijele mreže završio je 19. rujna, a istraživač je 14. rujna dobio nagradu.
Tvrtka kaže da u zapisima nije našla znak da je propust koristio itko osim istraživača i njezinih zaposlenika. Korisnici ne moraju ništa poduzeti.