CVE-2026-62241: Hårdkodet JWT-nøgle i Clawvet API-server
Clawvet API-server før 0.7.5 bruger en hårdkodet JWT-nøgle. Angribere uden login kan stjæle brugerdata og API-nøgler. Opdatér til 0.7.5.
Hvad er det?
CVE-2026-62241 er en sårbarhed i den selv-hostede API-server til Clawvet (apps/api), et system til sikkerhedsscanning. Fejlen ligger i, hvordan serveren bekræfter login: JWT (JSON Web Token) er en digital nøgle, der beviser, at en bruger er logget ind. Clawvet leverer en fast standardnøgle direkte i koden og i eksempelfilen .env.example, i stedet for at kræve, at driftsansvarlige selv sætter en unik nøgle. Samtidig afleverer et endpoint uden krav om login brugernes interne id, uden krav om godkendelse. En angriber kan kombinere de to fejl til at forfalske en gyldig login-session for en vilkårlig bruger og derefter hente vedkommendes data.
Hvem rammer det?
Sårbarheden rammer virksomheder, der selv installerer og drifter Clawvets API-server (apps/api) i en version ældre end 0.7.5, typisk på egne servere eller i egen sky. Det gælder ikke brugere af det offentlige npm-værktøj (CLI-versionen), som ikke er berørt af fejlen. Er I i tvivl om, hvilken udgave I kører, bør I tjekke jeres driftsopsætning og versionsnummer.
Hvad kan ske?
En angriber uden adgangskode kan hente en brugers e-mailadresse, abonnementsplan og hemmelige API-nøgle. Med API-nøglen kan angriberen typisk foretage handlinger på brugerens vegne i andre systemer, der er integreret med Clawvet, og bruge oplysningerne til målrettet phishing eller videresalg. For en dansk virksomhed, der bruger Clawvet til sikkerhedsscanning af egne systemer, betyder det, at følsomme kontooplysninger og adgang til scanningsdata kan lækkes, uden at nogen registrerer et ulovligt login.
Hvor alvorligt er det?
CVSS-scoren er 9,1 ud af 10, kritisk. Angrebet kræver ikke login og ingen handling fra brugeren og kan udføres over internettet. Fortroligheden af data er hårdt ramt, fordi angriberen kan læse e-mail, plan og API-nøgle, mens data ikke kan ændres eller systemet lammes. Der er ingen oplysninger om, at sårbarheden aktivt udnyttes i skarpe angreb pr. offentliggørelsesdatoen, men fremgangsmåden er enkel at gennemføre, når man kender standardnøglen.
Hvad gør jeg nu?
Sådan lukker I hullet og begrænser skaden:
- Opdatér Clawvet API-serveren (apps/api) til version 0.7.5 eller nyere, hvor den hårdkodede standardnøgle er fjernet.
- Sæt jeres egen unikke, lange og tilfældige JWT-nøgle i miljøvariablen, og fjern enhver reference til standardværdien clawvet-dev-secret-change-me.
- Tving alle brugere til at logge ind igen, så gamle sessions oprettet med den kendte nøgle bliver ugyldige.
- Rotér alle API-nøgler, der er udstedt af Clawvet, da de kan være kompromitteret.
- Gennemgå logs for kald til /api/v1/scans og /api/v1/auth/me fra ukendte IP-adresser for at vurdere, om data allerede er hentet.
- Kontakt en sikkerhedsrådgiver, hvis I ikke selv kan verificere, at opdateringen og nøgleudskiftningen er gennemført korrekt, eller hvis logs viser tegn på misbrug.
Opdatér inden for 24 timer
Vi anbefaler, at I opdaterer til Clawvet 0.7.5 hurtigst muligt og samtidig sætter en unik JWT-nøgle, da fejlen er enkel at udnytte og giver adgang til følsomme kontooplysninger uden login. Det er ikke forsvarligt at vente, da angrebet kan udføres fra internettet uden nogen form for brugerinteraktion. Kører I kun CLI-værktøjet fra npm, er I ikke berørt og kan afvente jeres normale opdateringscyklus.
Tidslinje
Konkrete eksempler
Administrators API-nøgle stjålet fra scanningsserver
En dansk it-virksomhed bruger Clawvets selv-hostede API-server til at scanne egne webapplikationer for sårbarheder. Fordi driftsteamet aldrig ændrede standard-JWT-nøglen fra installationsvejledningen, forfalsker en ekstern part en session for en administrator og henter dennes API-nøgle fra /api/v1/auth/me. Nøglen bruges til at trække scanningsrapporter ud, der afslører virksomhedens egne sikkerhedshuller.
Ofte stillede spørgsmål
Er vi ramt af denne sårbarhed?
I er ramt, hvis I selv drifter Clawvets API-server (apps/api) i en version ældre end 0.7.5. Bruger I kun CLI-værktøjet fra npm, er I ikke berørt.
Hvordan tjekker vi, hvilken version vi kører?
Tjek versionsnummeret i jeres deployment af apps/api, eksempelvis i package.json eller i driftsloggen fra jeres installationsproces.
Kan vi vente til weekenden med at opdatere?
Nej. Angrebet kræver ikke login og kan udføres automatisk over internettet, så vi anbefaler at opdatere og udskifte JWT-nøglen samme dag, sårbarheden bliver kendt for jer.
Skal vi anmelde noget til myndighederne?
Hvis I finder tegn på, at brugerdata som e-mail eller API-nøgler faktisk er blevet hentet af en uautoriseret part, kan det udløse anmeldelsespligt efter databeskyttelsesreglerne. Kontakt jeres databeskyttelsesrådgiver for en konkret vurdering.
Hvordan ved vi, om vores data allerede er lækket?
Gennemgå serverlogs for kald til /api/v1/scans og /api/v1/auth/me fra IP-adresser, I ikke kender, i perioden før opdateringen.
Er standardnøglen et problem, hvis vi aldrig har ændret den?
Ja. Nøglen clawvet-dev-secret-change-me er offentligt kendt fra kildekoden, så alle, der kender den, kan forfalske login for enhver bruger på jeres server.
CVSS-detaljer
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
CWE-svaghedstyper
Original NVD-beskrivelse (engelsk)
clawvet self-hosted API server (apps/api) before 0.7.5 hard-codes a fallback JWT secret (‘clawvet-dev-secret-change-me’) in auth.ts and ships it as the default in .env.example. Because GET /api/v1/scans returns scan records containing userId values without authentication, a remote unauthenticated attacker can harvest a victim’s userId, forge a valid HS256 cg_session cookie offline using the known secret, and call GET /api/v1/auth/me to obtain the victim’s email address, subscription plan, and secret apiKey. The published clawvet npm package (CLI only) is not affected.
Referencer & kilder
Eksterne kilder
Brug for hjælp med jeres sikkerhed?
Vi hjælper SMV’er med at omsætte trusler som denne til konkrete handlingsplaner.