Vercel tallensi salasananne selkokielisinä ja kutsui sitä ominaisuudeksi
Hyökkääjä siirtyi kompromoituneesta tekoälytyökalusta Google-tilin kautta Vercelin infrastruktuuriin ja purki sitten jokaisen ympäristömuuttujan salauksen, joita ei ollut manuaalisesti merkitty 'sensitive'. Murto kesti kaksi kuukautta ennen kuin kukaan huomasi sen.
Vercel murrettiin. Hyökkääjä oli sisällä noin kaksi kuukautta ennen havaitsemista. Hyökkääjä luetelsi asiakkaiden ympäristömuuttujat ja purki niiden salauksen — API-avaimet, tietokantasalasanat, allekirjoitusavaimet ja poletit — kaikissa projekteissa, jotka eivät käyttäneet Vercelin valinnaista "sensitive"-lippua.
Hyökkäysketju: kolmannen osapuolen tekoälytyökalu Context.ai kompromoitiin. Hyökkääjä käytti tätä etuasemaa vallatakseen Vercelin työntekijän Google Workspace -tilin. Sieltä hyökkääjä siirtyi Vercelin sisäisiin järjestelmiin ja alkoi lukea salaisuuksia.
Tietoja tarjotaan nyt väitetysti BreachForumsilla hintaan 2 miljoonaa dollaria.
Valintaruutu "sensitive", joka ei ollut käytössä oletuksena
Tässä on oleellinen kohta.
Vercelillä on kahdenlaisia ympäristömuuttujia. Tavalliset, jotka ovat "salattuja tallennuksessa" mutta joita Vercelin järjestelmät voivat purkaa ja lukea. Ja "sensitive"-muuttujat, jotka käyttävät lisäsalauksen muotoa, jonka Vercelin mukaan estää jopa sisäisen pääsyn.
Hyökkääjä pystyi lukemaan kaikki tavalliset. Vain "sensitive"-muuttujat olivat suojattuja.
Ongelma: "sensitive" oli opt-in. Ei oletus. Jokainen kehittäjä, joka asetti DATABASE_URL tai STRIPE_SECRET_KEY tai JWT_SIGNING_KEY valitsematta valintaruutua — ja näitä on suurin osa — piti näitä arvoja muodossa, jonka sisäisen pääsyn saanut hyökkääjä pystyi purkamaan.
Vercelin murron jälkeiset ohjeet: "Ottakaa käyttöön herkkien ympäristömuuttujien ominaisuus salattua tallennusta varten." Käännös: salaus, jonka oletitte suojaavan salaisuutenne, ei todellisuudessa suojannut niitä meiltä — eikä keneltäkään, joka pääsi järjestelmiimme.
Kaksi kuukautta oleskeluaikaa
Alkuperäinen kompromointi tapahtui helmikuussa 2026. Vercel julkaisi ensimmäisen turvallisuustiedotteen 19. huhtikuuta. Se on karkeasti kaksi kuukautta hyökkääjän pääsyä sisäisiin järjestelmiin.
Vercelin oma turvallisuustiimi kuvasi hyökkääjää "erittäin kehittyneeksi tämän toimintavauhdin ja Vercelin tuotteen API-pinnan syvällisen ymmärryksen perusteella". Kun yritys, joka isännöi infrastruktuurianne, toteaa hyökkääjän ymmärtäneen järjestelmänsä odotettua paremmin, kannattaa pysähtyä miettimään.
Noiden kahden kuukauden aikana hyökkääjällä oli aikaa luetella kaikki käytettävissä olevat ympäristömuuttujat asiakkaiden projekteissa. Aikaa viedä tiedot ulos. Aikaa myydä ne.
OAuth-toimitusketju
Alkupiste ei edes ollut Vercelin oma koodi. Vercelin työntekijä valtuutti Context.ai:n — tekoälypohjaisen tuottavuustyökalun — Google OAuthin kautta. Kun Context.ai kompromoitiin, hyökkääjä peri kaikki oikeudet, joita tuo OAuth-valtuutus antoi.
Tämä on toistuva kaava. Organisaatiot lukitsevat huolellisesti ensisijaisen todennuksensa ja jakavat sitten OAuth-poletteja kolmannen osapuolen työkaluille, joilla on oma, usein heikompi, turvallisuustasansa. Yksi kompromoitu sovellus ketjussa, ja hyökkääjä perii työntekijänne pääsyn.
Kompromoitunut OAuth-sovellustunnus on julkinen: 110671459871-30f1spbu0hptbs60cb4vsmv79i7bbvqj.apps.googleusercontent.com. Jos organisaationne valtuutti tämän sovelluksen, peruuttakaa valtuutus välittömästi.
Mitä teidän pitäisi tehdä
Jos käytätte Verceliä käyttöönottopohjana:
- Vaihtakaa kaikki ympäristömuuttujien arvot välittömästi — älkää odottako selvitystä siitä, olitteko "vaikutuksen alaisia"
- Ottakaa
sensitive-lippu käyttöön kaikissa ympäristömuuttujissa jatkossa - Tarkistakaa Google Workspace -OAuth-sovellusten oikeudet ja peruuttakaa kaikki, mitä ette käytä aktiivisesti
- Tarkistakaa Vercelin käyttöönottolokit odottamattomien muutosten varalta helmikuun ja huhtikuun 2026 välillä
- Tarkistakaa alapään palvelut (tietokannat, maksunkäsittelijät, API:t) luvattoman pääsyn varalta käyttäen Verceliin tallennettuja tunnuksia
Todellinen opetus
Vercelin arkkitehtuuri tallensi asiakkaiden salaisuudet muodossa, jonka sisäinen pääsy pystyi purkamaan. Vahvempi vaihtoehto oli tarjolla, mutta sitä ei tehty oletukseksi. Kahden kuukauden ajan kukaan ei huomannut hyökkääjän lukevan näitä salaisuuksia.
Tämä on "luottakaa meihin" -turvallisuuden ongelma. Vercel salasi ympäristömuuttujanne tallennuksessa — teknisesti totta. Mutta he pitivät salausavaimet hallussaan. Kun heidän järjestelmänsä kompromoitiin, myös salaisuutenne olivat.
Vaihtoehto on nollatietoarkkitehtuuri, jossa palveluntarjoaja ei matemaattisesti pysty purkamaan tietojenne salausta. Ei "valitse olla purkamatta" — vaan ei pysty. Mikään määrä sisäistä kompromointia, mikään epärehdyllinen työntekijä, mikään kehittynyt hyökkääjä, joka elää infrastruktuurissanne kaksi kuukautta, ei pysty lukemaan sitä, mille palvelimella ei koskaan ollut avaimia salauksen purkuun.
Vercel pyytää asiakkaita valitsemaan valintaruudun, jotta nämä saavat todellisen salauksen. Kysymys, jonka kannattaa esittää: miksi se ei ollut ainoa vaihtoehto alusta alkaen?