INCIDENTRAPPORT

CGI Sverige / Funktionstjänster.se — Källkodsläcka

Rapport av: Pentesting.se / Adminor ABDatum: 2026-03-13Status: Pågående incident

Publik analys baserad på passiv rekognosering, certifikattransparens och öppen källkodsgranskning. Inga specifika lösenord, filnamn eller sökvägar publiceras i denna rapport.

Sammanfattning

Den 12 mars 2026 publicerade hotakören ByteToBreachkomplett källkod från CGI Sveriges e-förvaltningsplattform, exfiltrerad från en intern GitLab-instans. Läckan innehåller 21 Git-repositorier med konfiguration, nyckelmaterial och SAML-signeringsinfrastruktur för svenska myndigheters e-identifiering via funktionstjänster.se.

CGI hävdar att det rör sig om "två interna testservrar" — vår analys visar produktionskonfigurationer med riktig anslutningsinformation, nyckelmaterial och databasuppgifter.

Vad är Funktionstjänster?

CGI:s Funktionstjänster är Sveriges ledande e-förvaltningsplattform med över 25 miljoner e-legitimationstransaktioner per månad. Plattformen levereras som en managed service — CGI driftar och förvaltar hela infrastrukturen åt svenska myndigheter, kommuner och organisationer för medborgarriktade e-tjänster.

Plattformen består av flera kärnkomponenter:

  • e-ID — Elektronisk identifiering via BankID
  • eSign / Signe — Digital signeringsportal för myndigheter och företag
  • Företrädarregistret — Register över företagsföreträdare (IAM för juridiska personer)
  • Mina Engagemang — Medborgarportal för hantering av myndighetsärenden
  • SHS (Spridnings- och Hämtningssystem) — Protokoll för säkert informationsutbyte mellan myndigheter
  • eintegration3 — Apache Camel-baserad integrationsplattform som implementerar SHS-protokollet för datarouting mellan myndigheter
  • e-Formulär — Dynamisk formulärmotor för myndigheter

Angreppskedja

Enligt hotakörens egen dokumentation:

  1. Jenkins-kompromiss — Initial åtkomst via Jenkins CI-server
  2. Docker-escape — Jenkins-användaren tillhörde Docker-gruppen, möjliggjorde containerutbrott
  3. SSH-nyckelpivotering — Privata SSH-nycklar användes för lateral förflyttning
  4. Java-heapdumpar — Lösenord extraherades ur processminne
  5. SQL COPY TO PROGRAM — Kodexekvering via PostgreSQL

Omfattning

21 repositorier

Läckan omfattar 21 Git-repositorierinklusive system för JWT/SAML-nyckelhantering, företrädarregister (IAM), digital signering, SHS-integration, arbetsflödesmotor och medborgarportaler. Flera repositorier innehåller komplett Docker Swarm-konfiguration för produktionsmiljöer.

64 certifikat/nyckelfiler

Totalt 64 filer av typen .jks, .p12, .pfx,.pem och .key hittades. Vi öppnade 36 av dessamed lösenord extraherade ur konfigurationsfiler i samma läcka.

Certifikatvalidering (2026-03-13):Av de 36 öppnade filerna är minst 20 certifikat fortfarande giltiga(med utgångsdatum från 2027 till 2034). Samtliga har extraherbara privata nycklar. Ytterligare 3 filer innehåller okrypterade privata nycklar (RSA 2048/4096-bit) helt utan lösenordsskydd.

Certifikaten tillhör ett flertal svenska myndigheter och organisationer, utfärdade av bl.a. ExpiTrust EID CA. Flera SHS-klientcertifikat (Spridnings- och Hämtningssystem) har nyligen utgått men var giltiga vid tidpunkten för läckan.

SHS — Spridnings- och Hämtningssystem

SHS är ett svenskutvecklat protokollför säkert informationsutbyte mellan myndigheter. Det används av statliga myndigheter, kommuner och organisationer för att skicka elektroniska dokument, hämta uppgifter och prenumerera på informationsflöden. SHS är i praktiken ryggraden i svensk e-förvaltning.

SHS använder mTLS (mutual TLS) för autentisering — klientcertifikaten identifierar organisationen mot SHS-noder. Läckan innehåller SHS-klientcertifikat för flera myndigheter. Den som har ett giltigt klientcertifikat kan utge sig för att vara den organisationenoch direkt hämta eller lämna data hos andra myndigheter som organisationen har SHS-avtal med.

Credentials

Mer än 30 unika lösenord hittades i klartext i konfigurationsfiler, Docker secrets och YAML-filer. Dessa inkluderar:

  • Keystore-lösenord för SAML-signeringscertifikat (validerade — öppnade keystores framgångsrikt)
  • Databas-credentials för PostgreSQL och MSSQL (samma lösenord återanvänds i minst 8 separata databasmiljöer)
  • OAuth2 client-secrets och API-nycklar för Bolagsverket- och Mina Ombud-integrationer
  • SMTP-credentials (Gmail-konton i klartext)
  • SVN-credentials till CGI:s interna versionhanteringsserver (AD-konto)
  • JWT-signeringshemligheter (256 tecken, i klartext)
  • CI/CD-credentials — åtkomst till Artifactory (build-artefakter) med samma lösenord som databaserna

Lösenordsåterbruk:Samma lösenord återanvänds systematiskt över databaser (PostgreSQL + MSSQL), Artifactory, SMTP och applikationsinloggningar — kompromiss av ett enda system ger åtkomst till i princip samtliga.

Inaktiverade säkerhetskontroller

Flera kritiska säkerhetskontroller var explicit avaktiverade eller saknade i produktionskonfigurationer:

  • JWT-validering avstängd — Inkommande JWT-tokens valideras inte i gateway-tjänsten
  • SAML-assertions accepteras osignerade — Sweden Connect SP-metadata kräver inte signerade assertions
  • Oautentiserade SHS-integrationsendpoints — eintegration3 (SHS-integrationsplattformen) exponerar /reload, /start, /stop och /get-routes utan autentisering, vilket ger kontroll över myndighetsdatautbytets meddelandeflöden

KRITISKT — Golden SAML-risk

Kombinationen av SAML-signeringscertifikat med extraherbara privata nycklar (giltiga till 2029), keystore-lösenord i klartext, JWT-signeringshemligheter och avstängd tokenvalidering möjliggör förfalskning av identitetsangivelser.

En angripare kan skapa ("golden SAML") validerade identitetsangivelser för vilken svensk medborgare som helst mot alla anslutna tjänster. Konfigurationen innehåller även en komplett signerad SAML-assertion med personnummer och BankID-autentisering.

Drabbade organisationer

Följande organisationer är bekräftade via källkod och konfigurationi läckan. Typen av koppling varierar från komplett infrastrukturkonfiguration till klientcertifikat och kundkonfiguration.

OrganisationTyp av exponering
MSB (Myndigheten för samhällsskydd och beredskap)Komplett infrastrukturkonfiguration, databas, SAML, SHS
FMV (Försvarets Materielverk)Signeringsnyckelring, kundkonfiguration
KammarkollegietSAML-signeringscertifikat (giltigt till 2030)
BoverketSHS-klientcertifikat
Karlstads kommunSHS-klientcertifikat, medborgarportal
IVO (Inspektionen för vård och omsorg)SAML-assertion, Lex Maria-formulär
EnergimarknadsinspektionenKlientcertifikat (giltigt till 2030)
BolagsverketOAuth2-integration, arbetsflödesmotor
FolksamSigne-kundkonfiguration
Akademiska HusSigne-kundkonfiguration

Ytterligare 7 organisationer identifierade via organisationsnummer i Signe-konfigurationer.

Hotakör: ByteToBreach

ByteToBreach är en hotakör aktiv sedan juni 2025, med dokumenterade intrång mot flygbolag, banker, sjukvård och myndigheter i över 10 länder. Aktören använder en blandning av infostealer-loggar, brute force och exploits mot kända sårbarheterför initial åtkomst.

Dagen innan CGI-läckan publicerade ByteToBreach en fullständig passagerardatabas från Viking Line(via Apache Solr LFI + Tomcat credentials), vilket tyder på en koordinerad kampanj mot svensk infrastruktur via CGI:s managed services.

Carl-Oskar Bohlin (civilförsvarsminister) har bekräftat läckan. CERT-SE och Nationellt cybersäkerhetscenter utreder incidenten.

Certifikattransparens

149 unika certifikat i CT-loggar sedan 2008. Viktiga observationer:

  • Entrust → DigiCert nödmigrering (2024) — 43 Entrust-certifikat måste bytas p.g.a. distrust
  • Wildcard-certifikat omutfärdat 2026-03-13 via DigiCert — indikerar aktiv incidenthantering
  • IdP saknar DNS A-record — huvudsakliga IdP:n är inte nåbar, trots giltigt certifikat (till 2027)
  • Ingen DMARC-post konfigurerad — phishing-risk för en autentiseringsdomän

Riskbedömning

KRITISK
Golden SAML

Giltiga SAML-signeringscertifikat + lösenord i klartext + avstängd validering = identitetsförfalskning mot alla anslutna myndigheter

HÖG
Databasåtkomst

Gemensamma lösenord för PostgreSQL och MSSQL över 8+ miljöer — avsaknad av segmentering

HÖG
Försvarsorganisation

Signeringsnyckelring för försvarsorganisation lagrad i Git istället för HSM

HÖG
SHS-kompromiss

Exponerade SHS-klientcertifikat (mTLS) — möjliggör imitation av myndighet och direkt datahämtning

HÖG
Supply chain

CI/CD-credentials (Jenkins, Artifactory, Docker Registry) exponerade — möjliggör injektion av skadlig kod i build-pipelinen

MEDEL
PII-exponering

Personnummer i SAML-assertions och JWT-tokens. Medborgardatabaser uppges säljas separat.

MEDEL
Lateral rörelse

SVN-credentials och OAuth-secrets ger potentiell åtkomst till ytterligare CGI-system

MEDEL
SMS-gateway

Konfigurationsfiler refererar en e-post-till-SMS-gateway som accepterar SMTP utan autentisering — potentiell vektor för SMS-spoofing och social engineering

Rekommendationer

Omedelbart (0–48 timmar)

  1. Rotera ALLA signeringsnycklar — SAML, JWT, TLS — och publicera ny metadata
  2. Byt ALLA exponerade lösenord — databas, keystore, SMTP, SVN, OAuth
  3. Aktivera JWT-validering och kräv signerade SAML-assertions
  4. Kontrollera åtkomstloggar för alla anslutna myndigheter

Kort sikt (1–2 veckor)

  1. Migrera alla signeringsnycklar till HSM
  2. Implementera unik lösenordspolicy per miljö (prod ≠ staging ≠ test)
  3. Konfigurera DMARC för funktionstjänster.se
  4. Granska alla SPs: säkerställ kräv på signerade assertions
  5. Implementera Certificate Transparency-monitorering

Medellång sikt (1–3 månader)

  1. Secrets management — migrera alla lösenord till Vault eller likvärdigt
  2. Nätverkssegmentering — separera prod/staging/test
  3. Anmälan till IMY enligt GDPR (72-timmarsregel)
  4. Rapportering enligt Cybersäkerhetslagen/NIS2

Hur Pentesting.se hjälper

Denna incident belyser flera attackytor som automatiserad säkerhetsskanning kan identifiera innanen läcka sker:

BristDetektionsmetodStatus
Exponerade nyckelfiler i webrötterSårbarhetsskanning + katalogupptäcktBefintlig
Exponerade CI/CD-system (Jenkins, Docker)CI/CD-specifika sårbarhetsmallarBefintlig
Standardlösenord i databaserAutentiseringstest + tjänstskanningBefintlig
Jenkins Script Console utan autentiseringHTTP-probe (CVE-2025-53652)Befintlig
Golden SAML — signeringsnycklar utanför HSMSAML metadata-analys + loggkorrelation (Sygnia-metodik)Planerad
SAML-metadata med svaga konfigurationerAnpassad mall (WantAssertionsSigned, osignerade assertions)Planerad
CT-loggar: oväntade certifikatutfärdandenCertificate Transparency API-monitoreringPlanerad
Saknad DMARC/SPF/DKIMDNS-analysPlanerad
Java heap dumps på webserverKatalogupptäckt med riktade ordlistorPlanerad
Apache Solr LFI (ByteToBreach TTP)Applikationsspecifika sårbarhetsmallarPlanerad

Denna rapport är baserad på passiv analys av publikt tillgängliga data (CT-loggar, DNS, WHOIS) samt granskning av det publicerade källkodsarkivet. Inga aktiva intrångsförsök har genomförts. Specifika lösenord, filnamn och sökvägar har medvetet utelämnats från denna publika rapport.

Kontakt: Pentesting.se / Adminor AB