CVE-2026-87929: Hardkodet nøgle i MaxSite CMS
Hardkodet krypteringsnøgle i MaxSite CMS (CVE-2026-87929) lader angribere forfalske administrator-cookies uden login. Skift nøglen straks.
Hvad er det?
MaxSite CMS er et indholdsstyringssystem (CMS), et system til at redigere og publicere indhold på en hjemmeside. I alle versioner op til og med 109.6 leverer softwaren en fast, indbygget krypteringsnøgle i filen application/config/config.php. Nøglen bruges til at signere sessions-cookien ci_session, som CMS’et bruger til at holde brugere logget ind. Fordi nøglen aldrig ændres under installationen, er den identisk på alle installationer af CMS’et og kan findes i den offentligt tilgængelige kildekode. En angriber kan derfor selv beregne en gyldig HMAC-SHA1-underskrift, en matematisk kontrolværdi der bekræfter, at en cookie ikke er ændret, og bygge en cookie, der udgiver sig for at være administrator. Cookien slipper igennem funktionerne is_login() og mso_check_allow(), som ellers skal tjekke login, og giver dermed fuld administratoradgang uden kodeord.
Hvem rammer det?
Sårbarheden rammer alle, der kører MaxSite CMS i version 109.6 eller ældre, og som ikke selv har udskiftet krypteringsnøglen i config.php. Det gælder danske virksomheder og foreninger, der bruger CMS’et til deres hjemmeside eller webshop, samt kommunale eller institutionelle sider bygget på platformen. Alle installationer, der bruger standardopsætningen uden manuel ændring af nøglen, er sårbare, uanset hvilke moduler eller temaer der er installeret.
Hvad kan ske?
Med en forfalsket administrator-cookie kan en angriber logge ind som administrator uden at kende noget kodeord. Herfra kan angriberen ændre indhold på hjemmesiden, uploade skadelig kode, tilgå eller stjæle data om kunder og brugere, og i praksis overtage kontrollen med hele CMS’et. For en dansk virksomhed betyder det risiko for hjemmesidedefacement, tab af kundedata og mulig videre spredning af skadelig software til besøgende på siden.
Hvor alvorligt er det?
CVSS-scoren er 9,8 ud af 10, hvilket er den højeste alvorlighedsgrad. Angrebet kræver ingen godkendt bruger, intet login og ingen handling fra en bruger, det kan udføres direkte over internettet mod en sårbar server. Der er ingen kendte tilfælde af aktiv udnyttelse endnu, men fremgangsmåden er beskrevet så detaljeret i sårbarhedsrapporten, at den er nem at gengive for enhver, der kender adressen på en sårbar installation.
Hvad gør jeg nu?
Følg disse skridt for at lukke hullet og begrænse skaden:
- Skift krypteringsnøglen i application/config/config.php til en ny, tilfældig værdi, og genstart CMS’et. Dette lukker hullet med det samme.
- Tjek om der findes en nyere version af MaxSite CMS end 109.6, og opdatér til den, hvis den findes.
- Gennemgå administratorkonti og loginlog for usædvanlig aktivitet siden CMS’et blev sat op.
- Tving alle administratorer til at logge ud og ind igen, så gamle sessions-cookier bliver ugyldige.
- Kontakt en sikkerhedsrådgiver, hvis I ikke selv kan verificere, at nøglen er unik og korrekt udskiftet, eller hvis I finder tegn på uautoriseret adgang.
Skift nøglen inden for 24 timer
Vi anbefaler, at I skifter krypteringsnøglen i config.php i dag, og at I samtidig tjekker for nyere versioner af MaxSite CMS. Det er ikke forsvarligt at vente, fordi angrebet kræver hverken login eller brugerhandling og kan automatiseres. Er I i tvivl om, hvordan nøglen ændres korrekt, eller finder I tegn på allerede sket misbrug, bør I hente hjælp udefra med det samme.
Tidslinje
Konkrete eksempler
Webshop overtaget via forfalsket administrator-login
En mindre dansk webshop bruger MaxSite CMS til deres hjemmeside. En angriber finder webshoppen via en søgning på specifikke CMS-signaturer, beregner den offentligt kendte krypteringsnøgle, bygger en administrator-cookie og logger ind uden kodeord. Herefter ændrer angriberen betalingsoplysningerne på siden og injicerer skadelig kode, der stjæler kundernes kortoplysninger.
Ofte stillede spørgsmål
Er vi ramt af denne sårbarhed?
I er ramt, hvis I kører MaxSite CMS i version 109.6 eller ældre, og ikke selv har ændret krypteringsnøglen i config.php. Tjek filen application/config/config.php for standardværdien.
Hvordan tjekker vi, om nøglen er standardnøglen?
Åbn filen application/config/config.php og se på værdien for krypteringsnøglen. Sammenlign med standardinstallationens kildekode fra MaxSite CMS, hvis værdien er identisk, er I sårbare.
Kan vi vente til weekenden med at rette det?
Nej. Fordi angrebet ikke kræver login og kan udføres automatisk mod alle sårbare installationer, bør nøglen skiftes så hurtigt som muligt og ikke vente til en fast opdateringsrunde.
Skal vi anmelde dette til Datatilsynet?
Hvis I finder tegn på, at en angriber faktisk har fået administratoradgang og har tilgået persondata, skal I vurdere anmeldepligt efter databeskyttelsesreglerne. Har I kun rettet nøglen uden tegn på misbrug, er der som udgangspunkt ikke anmeldepligt.
Er der en officiel opdatering fra MaxSite?
Der er pr. offentliggørelsen ikke oplyst en officiel rettet version. Den effektive løsning er at udskifte krypteringsnøglen manuelt i config.php, indtil en officiel opdatering foreligger.
Kan vi bruge en webapplikationsfirewall som midlertidig løsning?
En webapplikationsfirewall kan blokere kendte angrebsmønstre, men løser ikke selve problemet, fordi nøglen stadig er kendt. Skift af nøglen er den eneste reelle løsning.
CVSS-detaljer
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWE-svaghedstyper
Original NVD-beskrivelse (engelsk)
MaxSite CMS through 109.6 ships with a hardcoded session encryption key in application/config/config.php that is never changed during installation, allowing unauthenticated attackers to forge administrator session cookies. Attackers can mint a malicious ci_session cookie with administrator privileges by computing an HMAC-SHA1 using the publicly known encryption key, bypassing authentication checks in is_login() and mso_check_allow() functions.
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.