CVE-2026-40993: Sårbarhed i VMware Spring Security 7.0
Sårbarhed i Spring Security 7.0.0–7.0.5 kan give angribere mulighed for at ødelægge eller manipulere data via ondsindet databaseindhold.
Hvad er det?
CVE-2026-40993 er en sårbarhed i VMware Spring Security, version 7.0.0 til og med 7.0.5. Sårbarheden findes i en komponent kaldet JdbcAssertingPartyMetadataRepository, som bruges til at håndtere SAML2-logindata (et system til sikker enkeltlogon på tværs af systemer). En angriber, der allerede har skriveadgang til den tilknyttede databasetabel, kan gemme et ondsindet, skjult program i tabellens kolonner med krypteringsnøgler. Når applikationen senere læser disse data, aktiveres det ondsindede indhold. Teknisk set er der tale om et deserialization-angreb (CWE-502), hvor data omformes til programkode på en farlig måde.
Hvem rammer det?
Sårbarheden rammer virksomheder og udviklere, der:
- Kører Java-baserede webapplikationer bygget med Spring Security version 7.0.0 til 7.0.5
- Bruger SAML2-baseret login (enkeltlogon, SSO) i deres systemer
- Har konfigureret JdbcAssertingPartyMetadataRepository til at gemme metadata i en relationsdatabase
Bruger din virksomhed ikke Spring Security 7.x direkte, men køber software eller SaaS-løsninger, bør du spørge din leverandør, om de er berørt.
Hvad kan ske?
Hvis en angriber udnytter sårbarheden, kan det føre til:
- Manipulation af data (Integrity: HIGH) — angriberen kan ændre eller forfalske loginoplysninger og krypteringsnøgler i systemet
- Nedbrud og utilgængelighed (Availability: HIGH) — applikationen kan crashe eller blive sat ud af drift, når det ondsindede indhold aktiveres
- Fortrolighed er ikke direkte truet — selve angrebet stjæler ikke data, men manipulation af krypteringsnøgler kan i praksis svække sikkerheden for fremtidige kommunikationer
Det er vigtigt at bemærke, at angriberen skal have skriveadgang til databasen på forhånd, hvilket begrænser risikoen noget — men denne adgang kan opnås via tidligere kompromittering.
Hvor alvorligt er det?
Sårbarheden er vurderet til CVSS 7.3 (Alvorlig). Selvom angrebskompleksiteten er høj, og angriberen skal have særlige rettigheder, er konsekvenserne alvorlige. Angrebet foregår via det lokale netværk (adjacent network), hvilket betyder, at angriberen skal befinde sig på samme netværk eller segment som systemet. Det reducerer den umiddelbare eksponeringsrisiko fra internettet, men gør sårbarheden særlig relevant i situationer med kompromitterede interne konti eller systemer. For virksomheder der bruger SAML2-login til kritiske forretningssystemer, er risikoen for driftsforstyrrelse og datatampering betydelig.
Hvad gør jeg nu?
Følg disse trin for at beskytte din virksomhed:
- Find ud af, om du er berørt: Kontakt din it-afdeling eller softwareleverandør og spørg, om I bruger Spring Security version 7.0.0 til 7.0.5 med SAML2-konfiguration.
- Opdater til Spring Security 7.0.6 eller nyere: VMware/Spring har udgivet en opdatering, der lukker sårbarheden. Opdatering er den eneste komplette løsning.
- Gennemgå databaseadgange: Begræns skriveadgangen til tabellen saml2_asserting_party_metadata til kun de konti, der absolut har brug for det (princippet om mindste privilegium).
- Tjek logfiler: Gennemgå databaselogfiler for unormale skrivninger til de nævnte tabeller, særligt kolonnerne verification_credentials og encryption_credentials.
- Overvåg applikationen: Sæt alerts op, hvis applikationen oplever uventede nedbrud eller fejl i forbindelse med SAML2-autentificering.
Opdater inden for 14 dage
Vi anbefaler, at du hurtigst muligt opdaterer Spring Security til version 7.0.6 eller nyere, hvis din virksomhed eller jeres leverandører anvender de berørte versioner. Som en midlertidig foranstaltning bør du stramme op på, hvem der har skriveadgang til den berørte databasetabel. Selvom angrebet kræver særlige betingelser, er konsekvenserne — manipulerede logindata og systemnedbrud — alvorlige nok til at tage dette seriøst uden forsinkelse.
Tidslinje
Konkrete eksempler
Kompromitteret databasekonto bruges til angreb
En angriber har via phishing skaffet sig adgang til en intern databasebrugerkonto med skriverettigheder. Angriberen indsætter et ondsindet, serialiseret Java-objekt i kolonnen encryption_credentials i tabellen saml2_asserting_party_metadata. Næste gang applikationen henter og behandler disse data, aktiveres det ondsindede objekt, og applikationen crasher — eller udfører angriberkontrollerede handlinger som at ændre logindata for privilegerede brugere.
Intern medarbejder manipulerer SAML2-metadata
En utilfreds it-medarbejder med databaseadgang udnytter sårbarheden til at indsætte manipulerede krypteringsnøgler i systemets SAML2-konfiguration. Dette kan svække eller omgå krypteringen af fremtidige loginprocesser, så medarbejderen efterfølgende kan aflytte eller forfalske login-sessioner for andre brugere i virksomheden.
Angreb via kompromitteret tredjepartssystem på samme netværk
En angriber har kompromitteret et andet system på virksomhedens interne netværk — f.eks. en printer eller et IoT-device. Fra dette system tilgår angriberen databaseserveren, som er tilgængelig på det interne netværk uden yderligere segmentering. Angriberen skriver ondsindet indhold til SAML2-tabellen, hvilket forårsager, at virksomhedens loginserver går ned ved næste brugeraktivitet og gør det umuligt for medarbejdere at logge ind på forretningskritiske systemer.
Ofte stillede spørgsmål
Hvad er SAML2, og bruger vi det?
SAML2 er en teknologi til enkeltlogon (SSO), som giver medarbejdere mulighed for at logge ind én gang og få adgang til flere systemer. Det bruges ofte i forbindelse med Microsoft Azure AD, Okta eller andre identity-løsninger. Spørg din it-leverandør eller interne it-ansvarlige, om jeres systemer benytter SAML2 via Spring Security.
Kan en ekstern hacker udnytte denne sårbarhed direkte fra internettet?
Nej, ikke direkte. Angriberen skal befinde sig på samme netværkssegment som systemet (adjacent network) og desuden have skriveadgang til databasen. Det kræver typisk, at en intern konto eller et andet system allerede er kompromitteret. Det gør angrebet vanskeligere, men ikke umuligt.
Hvad er et deserialization-angreb?
Deserialization (CWE-502) betyder, at et program omformer gemt data tilbage til aktiv programkode. Hvis en angriber kan manipulere det gemte data, kan de få programmet til at udføre ondsindet kode, når det læser dataene — lidt ligesom at sende en forgiftet pakke, som systemet selv åbner og udfører.
Vi bruger et eksternt SaaS-system — er vi stadig i fare?
Det afhænger af din leverandørs teknologi. Kontakt din SaaS-leverandør og spørg specifikt, om de bruger Spring Security 7.0.0–7.0.5, og om de er opdateret til 7.0.6. Seriøse leverandører bør kunne svare på dette inden for få dage.
Er vores data blevet stjålet, hvis vi er berørt?
Sårbarheden truer primært dataintegritet og systemtilgængelighed — ikke direkte fortrolighed (dvs. datalæk). Det betyder, at angrebet ikke er designet til at stjæle data, men kan føre til, at data manipuleres eller systemet sættes ud af drift. Tidligere kompromittering af databaseadgang kan dog have medført andre sikkerhedshændelser, som bør undersøges separat.
Hvad hvis vi ikke kan opdatere med det samme?
Som midlertidig foranstaltning bør du straks gennemgå og begrænse, hvem og hvad der har skriveadgang til databasetabellen saml2_asserting_party_metadata. Overvåg desuden applikationslogs for usædvanlig aktivitet. En fuld løsning kræver dog opdatering til Spring Security 7.0.6 eller nyere.
Ramte produkter
Vmware — Spring Security
≥ 7.0.0, < 7.0.6
CVSS-detaljer
CVSS:3.1/AV:A/AC:H/PR:H/UI:N/S:C/C:N/I:H/A:H
CWE-svaghedstyper
Original NVD-beskrivelse (engelsk)
An attacker with write permissions to the database table managed by JdbcAssertingPartyMetadataRepository (saml2_asserting_party_metadata) may be able to store malicious serialized payloads in the columns containing the collection of verification or encryption credentials (verification_credentials and encryption_credentials, respectively).
Affected versions:
Spring Security 7.0.0 through 7.0.5.
Brug for hjælp med jeres sikkerhed?
Vi hjælper SMV’er med at omsætte trusler som denne til konkrete handlingsplaner.
