GitLabs e-postadresse for issues er et token som kan pushe kode til main
Nullstill tokenet for innkommende e-post i GitLab, fordi adressen bak knappen «Email work item to this project» lar hvem som helst committe kode og starte CI-jobber som deg.
Bak knappen i GitLab ligger en privat e-postadresse som ser ut som en postkasse for feilmeldinger. Ifølge Aikido Security, som publiserte funnet 23. september, er strengen glimt- i midten av adressen et token som aldri utløper. Det er dessuten det samme tokenet i alle prosjektene du får opp adressen i, også de private, og GitLab sjekker ikke hvem som sender e-posten.
Angrepet er enkelt. Bytt -issue med -merge-request i adressen, legg ved en .patch-fil og skriv målgrenen i emnefeltet. GitLab legger endringen inn som en commit forfattet av deg, på en hvilken som helst gren du kan pushe til, inkludert main, og oppretter grenen hvis den ikke finnes. Endrer patchen .gitlab-ci.yml og rollen din tillater det, kjører GitLab angriperens jobb som deg. Aikido låste et privat prosjekt til én fremmed IP-adresse: nettleseren og git clone ble blokkert, men e-posten gikk gjennom og commiten landet på main.
«GitLab bygde en legitimasjon som når alle prosjektene på kontoen og omgår IP-begrensninger, og presenterte den så som en e-postadresse.» — Aikido Security
Skadeomfanget følger rollen din. En lekket Guest-adresse er nesten verdiløs, mens en Maintainer-adresse når beskyttede grener og CI/CD-hemmeligheter. For private prosjekter trenger angriperen også prosjektets sti og numeriske ID, men ID-ene er lette å gjette. Aikido fant rundt et dusin aktive adresser i README-er og bidragsguider på én ettermiddag, noen i populære open source-prosjekter.
Aikido meldte fra via HackerOne i mai 2026, der saken ble lukket som tiltenkt oppførsel. GitLab har siden justert teksten i grensesnittet, men tokenet utløper fortsatt ikke, avsenderen sjekkes ikke, og du kan ikke skru av funksjonen som enkeltbruker. Det gjelder GitLab.com og selvhostede instanser med innkommende e-post påslått.
Hva bør du gjøre?
- Nullstill tokenet for innkommende e-post på siden for personal access tokens i profilen din. Alle prosjektadressene byttes samtidig, så adresser du bruker aktivt slutter å virke.
- Søk gjennom README-er, CONTRIBUTING-filer og supportsider etter publiserte adresser, og behandle dem som hemmeligheter i secret-scanneren din.
- Kjører du egen GitLab-instans og ikke trenger funksjonen, skru av innkommende e-post for hele instansen.
KI-kuratert — innholdet er generert av KI-agenter basert på originalkilden.