Jobbsøk-system lakk vitnemål og data – oppdaga av student

Studenten Jwan Mohammad fikk ut sensitive dokumenter om andre jobbsøkere, og kunne slette dem. – Menneskelig feil, sier CVideo, som tetta hullet.

Jwan Mohammad kom til Norge fra Syria for bare syv år siden, men gjør intervjuet med kode24 på imponerende norsk over telefon fra Kristiansand, hvor han oppdaga hullet i CVideo da han selv skulle søke på en jobb i systemet. 📸: Privat
Jwan Mohammad kom til Norge fra Syria for bare syv år siden, men gjør intervjuet med kode24 på imponerende norsk over telefon fra Kristiansand, hvor han oppdaga hullet i CVideo da han selv skulle søke på en jobb i systemet. 📸: Privat Vis mer

- Jeg skulle søke på en stilling jeg fant på Finn.no, forteller Jwan Mohammad til kode24.

Mohammad kom til Norge som etnisk kurder fra Syria for syv år siden, bor i Kristiansand og går nå siste året på en bachelor i multimedia-teknologi ved Universitetet i Agder. Som så mange andre snart nyutdanna utviklere i et trangt jobbmarkedet, har han starta jobbsøkingen allerede.

- Da jeg klikka på "søk her", ble jeg sendt videre til CVideo.no. Jeg skrev inn all informasjon og la ved CV og søknad, og klikka på "send", forteller han videre.

- Da kom det opp en rar URL, med "user" og søknadsnummer, og jeg begynte å lure – det så ikke helt bra ut. Kunne jeg bare endre på noe her, og få opp andres søknader?

Det viste det seg at han kunne, og den ferske utvikleren avdekka dermed et digert sikkerhetshull i søknadssystemet CVideo.

Fikk ut data og dokumenter

Mohammad starta programmet Postman, som lar deg teste API-er. Han sendte et get-request til api.cvideo.no-adressa hans egen søknad hadde brukt, og fikk ganske riktig opp sin egen data.

Så prøvde han å endre tallene i URL-en, og det han frykta viste seg å stemme: Nå fikk han opp data om helt andre jobbsøkere. Data som navn, fødselsdatoer, telefonnummer og epost-adresser:

Data fra tilfeldig bruker i API-et til CVideo, slik han fikk det ut i Postman.
Data fra tilfeldig bruker i API-et til CVideo, slik han fikk det ut i Postman. Vis mer

Men han fikk også opp noe enda mer graverende: URL-er til filer brukerne hadde lasta opp på CVideo, som viste seg å være sensitive dokumenter som blant annet vitnemål og førerkort.

- Da begynte jeg virkelig å bekymre meg, sier Mohammad til kode24.

Gjennom URL-er fra API-et ble han sendt videre til blant annet vitnemål fra CVideo sine brukere.
Gjennom URL-er fra API-et ble han sendt videre til blant annet vitnemål fra CVideo sine brukere. Vis mer

Kunne slette andre brukere

Overraskelsene ga seg ikke der, for det skulle også vise seg at det ikke bare var get-forespørsler som fungerte helt uten noen form for autentisering.

Mohammad kunne også sende delete-requests, altså be API-et om å slette andre brukere. Potensielt andre søkere på samme jobb.

Han testa det på sin egen bruker, fikk OK-respons tilbake, og kunne bekrefte at brukeren ganske riktig var sletta fra plattformen.

- Jeg fikk ikke logga meg inn på CVideo igjen, og da jeg skulle lage en ny bruker med samme epost-adresse, fikk jeg beskjed om at det var helt i orden, forteller Mohammad.

- Da begynte jeg å tenke at dette var veldig skummelt. Ifølge CVideo jobber de med mange store bedrifter, og har mottattt 150.000 søknader, så det er mye data vi snakker om. Jeg tenkte: "Oj, hva skal jeg gjøre nå?".

CVideo hevder å ha mottatt over 150.000 søknader gjennom systemet sitt.
CVideo hevder å ha mottatt over 150.000 søknader gjennom systemet sitt. Vis mer

Retta på tre kvarter

Mohammad kontakta Nasjonal Sikkerhetsmyndighet (NSM), som etter mye fram og tilbake ikke skal ha vist noen interesse.

Han kontakta også CVideo, som raskt kom tilbake til han. Omlag tre kvarter senere kunne Mohammad bekrefte at hullet var tetta.

- Vi har hatt manglende sikkerhet i et API, der man kunne iterere seg gjennom ID-ene og hente ut brukerinformasjon hvis man var logga inn som en bruker i systemet, bekrefter daglig leder Carl Erik Thomsen i CVideo til kode24.

- En student avdekket dette og gjorde oss oppmerksom på problemet. Vi retta feilen umiddelbart, fortsetter han.

- Vi er imponerte over ferdighetene og nysgjerrigheten til utvikleren. Han hadde ingen dårlige intensjoner, og vi er takknemlige for at han gjorde oss oppmerksom på feilen. Det trengte han ikke. Vi har sendt han Glede-gavekort til verdi 2.000 kroner som en premie for oppdagelsen.

"Menneskelig feil"

Selskapet forklarer til kode24 at hadde sikra API-et sitt med JSON Web Tokens (JWT). Men det lå en feil i systemet deres, hvor det å være logga inn som én bruker ga deg tilgang til alle brukere, ved å bare endre parameterne i spørringene.

- Dette skyldes en feil i vår programmering, altså en menneskelig feil som selskapet har ansvaret for, sier Christer Hafslund, COO i CVideo, til kode24.

Når det gjelder dokumentene som også ble eksponert gjennom API-et, skal dette ha vært signerte URL-er fra AWS S3, med en utløpsdato på 23 dager.

Enda et eksempel på et vitnemål som ble lekka fra CVideo.
Enda et eksempel på et vitnemål som ble lekka fra CVideo. Vis mer

CVideo vil "av konkurransehensyn" ikke oppgi hvor mange registerte brukere de har i databasen, som altså ble eksponert gjennom feilen. Men de oppgir på nettsidene sine at de siden 2014 har hatt over 250 kunder og over 150.000 registrerte søknader, til selskaper som Eplehuset, Devold, Høyer, EiendomsMegler 1 og advokatfirmaet Wikborg Rein.

- Vi har tatt kontakt med selskapene angående jobbsøkere som utvikleren oppdaget personopplysninger til. Vi vurderer risikoen som svært lav for at annen data har kommet på avveie, men jobber fortsatt med å kvalitetssikre dette, sier Thomsen.

Sendte heller søknad direkte

Tilbake i Kristiansand sitter Mohammad med et gavekort, og litt undring.

- Det var jo en veldig amatørfeil. Vi har jobba med API-er og beskyttelse av dem med passord på skolen, og vi som studenter kan gjøre en sånn feil. Men dette er et selskap med ansvar for mange tusen brukere, og burde være eksperter på dette, synes han.

Mohammad endte med å ikke sende jobbsøknaden sin gjennom systemet – både fordi han jo sletta brukeren gjennom å fikle med API-et, og fordi han nå ikke stoler på at dataen hans blir godt nok beskytta.

- Så jeg sa til dem at jeg sender søknad og CV direkte til dem. Men jeg venter fortsatt på svar.