CVE-2026-47838: Fejl i Spring Security X.509-login
Fejl i Spring Security kan lade en angriber udgive sig for en anden bruger via et manipuleret certifikat. Opdatér til rettet version.
Hvad er det?
CVE-2026-47838 er en fejl i Spring Security, et sikkerhedsbibliotek til Java-applikationer. Fejlen sidder i funktionen SubjectDnX509PrincipalExtractor, som henter et brugernavn ud fra CN-feltet (Common Name) i et X.509-certifikat, den type certifikat der bruges til login med klientcertifikater. Hvis certifikatet er fejlformet på en bestemt måde, kan funktionen læse et forkert brugernavn ud af certifikatet. En angriber, der kan fremstille et sådant certifikat, kan derved få systemet til at tro, at den pågældende er en anden, konkret bruger.
Hvem rammer det?
Det rammer virksomheder og kommuner, der bruger Spring Security til login med X.509-klientcertifikater, og som benytter SubjectDnX509PrincipalExtractor til at udtrække brugernavnet fra certifikatets CN-felt. Det gælder Spring Security 5.7.0 til 5.7.24, 5.8.0 til 5.8.26, 6.3.0 til 6.3.17, 6.4.0 til 6.4.17 samt 6.5.0 til 6.5.10. Typisk drejer det sig om B2B-integrationer, interne Java-applikationer og systemer, hvor certifikater bruges i stedet for brugernavn og kodeord.
Hvad kan ske?
Hvis fejlen udnyttes, kan en angriber optræde som en anden, legitim bruger i systemet, uden at have dennes rigtige certifikat. Det kan give adgang til den brugers data og rettigheder, herunder eventuelt administratoradgang, hvis den udgivne identitet har udvidede rettigheder. Da funktionen slet ikke påvirker tilgængeligheden af systemet, er risikoen først og fremmest tab af fortrolighed og integritet, altså at forkerte personer ser eller ændrer data under falsk identitet.
Hvor alvorligt er det?
CVSS-score er 6,8, moderat. Angrebet kræver ikke brugerinteraktion, men kræver at angriberen allerede har en vis adgang (lav privilegie) og skal kunne fremstille et specielt udformet, fejlformet certifikat, hvilket giver høj angrebskompleksitet. Det gør sårbarheden sværere at udnytte end en simpel netværksfejl, men konsekvensen ved et succesfuldt angreb er alvorlig, fordi det går direkte på identitet og adgangskontrol. Der er ikke oplysninger om, at sårbarheden aktivt udnyttes eller at der findes offentligt tilgængelig kode til at udnytte den.
Hvad gør jeg nu?
Følgende punkter lukker hullet og reducerer risikoen, mens I planlægger opdateringen.
- Opdatér Spring Security til 5.7.25, 5.8.27, 6.3.18, 6.4.18, 6.5.11 eller nyere, afhængigt af hvilken linje I bruger.
- Kortlæg, hvilke af jeres Java-applikationer der bruger X.509-klientcertifikater til login, og om de anvender SubjectDnX509PrincipalExtractor.
- Gennemgå adgangslogge for tegn på usædvanlige eller uventede certifikat-baserede logins i perioden op til opdateringen.
- Test opdateringen i et testmiljø, hvis I har brugerdefineret opsætning af certifikat-baseret autentificering, før den rulles ud i produktion.
- Bekræft efter opdatering, at login med klientcertifikater stadig fungerer som forventet for alle relevante brugergrupper.
- Hent ekstern hjælp, hvis I ikke har overblik over jeres Java-afhængigheder, eller hvis I er i tvivl om, hvordan certifikat-login er sat op hos jer.
Opdatér ved næste vedligeholdelsesvindue
Vi anbefaler, at I opdaterer Spring Security til den rettede version, hvis I bruger certifikat-baseret login. Da angrebet kræver et specielt udformet certifikat og en vis eksisterende adgang, behøver det ikke ske akut, men bør med ind i den næste planlagte opdateringsrunde. Bruger I ikke X.509-klientcertifikater til login, er I ikke berørt af denne konkrete sårbarhed, men det er stadig god praksis at holde biblioteket opdateret.
Tidslinje
Konkrete eksempler
B2B-integration med klientcertifikater hos en dansk leverandør
En dansk produktionsvirksomhed bruger Spring Security til at godkende samarbejdspartneres adgang til et leverandørportal via klientcertifikater. En medarbejder hos en anden partner fremstiller et fejlformet certifikat, der får systemet til at tro, vedkommende er en anden, betroet samarbejdspartner med adgang til flere ordredata. Herved kan personen se og ændre data, de ikke burde have adgang til, uden at der sker et egentligt indbrud i systemet.
Ofte stillede spørgsmål
Er vi ramt af denne sårbarhed?
I er kun ramt, hvis jeres applikation bruger Spring Security og lader brugere logge ind med X.509-klientcertifikater via SubjectDnX509PrincipalExtractor. Bruger I almindeligt brugernavn og kodeord eller anden form for login, er I ikke ramt af denne konkrete fejl.
Hvordan tjekker vi, om vi bruger den sårbare funktion?
Tjek jeres Java-applikationers afhængigheder for Spring Security-versionen, og gennemgå konfigurationen af eventuel certifikat-baseret autentificering for at se, om SubjectDnX509PrincipalExtractor bruges til at hente brugernavnet fra certifikatets CN-felt.
Kan vi vente med opdateringen til efter weekenden?
Ja, i de fleste tilfælde. Angrebet kræver en specielt udformet certifikat og en vis eksisterende adgang, og der er ikke tegn på aktiv udnyttelse. Vi anbefaler dog at få opdateringen med i den næste planlagte vedligeholdelse.
Skal vi anmelde noget til myndighederne?
Kun hvis I finder konkrete tegn på, at sårbarheden er blevet udnyttet, og at persondata er kompromitteret. I så fald skal I vurdere anmeldepligt efter databeskyttelsesreglerne. Uden tegn på misbrug er der ikke krav om anmeldelse alene som følge af sårbarhedens eksistens.
Påvirker opdateringen den daglige drift?
Opdateringen er en versionsopgradering af et bibliotek og bør testes i et testmiljø først, især hvis I har tilpasset opsætningen af certifikat-login. Selve opgraderingen medfører normalt ikke driftsstop, men bør planlægges som en almindelig softwareopdatering.
Hvad gør vi, hvis vi ikke selv har styr på vores Java-afhængigheder?
Så anbefaler vi at få en ekstern rådgiver til at kortlægge, hvilke systemer der bruger Spring Security og certifikat-baseret login, så I kan vurdere jeres konkrete risiko og prioritere opdateringen korrekt.
Ramte produkter
Vmware: Spring Security
< 5.7.25
Vmware: Spring Security
≥ 5.8.0, < 5.8.27
Vmware: Spring Security
≥ 6.3.0, < 6.3.18
Vmware: Spring Security
≥ 6.4.0, < 6.4.18
Vmware: Spring Security
≥ 6.5.0, < 6.5.11
CVSS-detaljer
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N
CWE-svaghedstyper
Original NVD-beskrivelse (engelsk)
SubjectDnX509PrincipalExtractor does not correctly handle certain malformed X.509 certificate CN values, which can lead to reading the wrong value for the username. In a carefully crafted certificate, this can lead to an attacker impersonating another user.
Affected versions:
Spring Security 5.7.0 through 5.7.24; 5.8.0 through 5.8.26; 6.3.0 through 6.3.17; 6.4.0 through 6.4.17; 6.5.0 through 6.5.10.
Referencer & kilder
Officielle advisories
Brug for hjælp med jeres sikkerhed?
Vi hjælper SMV’er med at omsætte trusler som denne til konkrete handlingsplaner.