Docker heeft een critical kwetsbaarheid in Docker Hub verholpen die, volgens de onderzoekers en Docker, kon leiden tot het pushen, pullen of verwijderen van containerimages als een andere gebruiker. De bug staat bekend als Docker Hub GhostPat en kreeg de code CVE-2026-105445.
De kern van het probleem zat in een functie waarmee een persoonlijke accountstatus kan worden omgezet naar een organisatie. Tijdens die conversie werden persoonlijke toegangs-tokens (Personal Access Tokens, PAT’s) overgedragen naar de aangewezen organisatie-eigenaar, waardoor tokens in de registry konden werken onder een andere identiteit dan bedoeld.
Wat was de Docker Hub GhostPat-kwetsbaarheid?
Docker Hub gebruikt PAT’s als alternatief voor een wachtwoord bij authenticatie richting de registry. Elke PAT hoort bij een maker en heeft een set permissies. De GhostPat-bug maakte het mogelijk dat, zolang de fout openstond, de registratie van de eigenaar van die PAT’s kon verschuiven bij het converteren van een account naar een organisatie.
Docker stelt dat de impact beperkt was tot de registry zelf. De kwetsbaarheid kon niet worden gebruikt om de Docker Hub webinterface over te nemen en liet ook geen wijzigingen toe aan accountinstellingen zoals wachtwoord, e-mailadres of twee-factor authenticatie. Ook was het niet bedoeld voor volledige account takeover.
Waarom kon je met GhostPat onder andermans naam publiceren?
Volgens Docker en de onderzoekers kon een aanvaller als volgt misbruiken:
- De aanvaller maakte een PAT op een account dat hij beheerste.
- Vervolgens zette de aanvaller dat account om naar een organisatie.
- Daarna wees de aanvaller een andere gebruiker aan als organisatie-eigenaar.
- Door de conversie gingen de overgedragen PAT’s volgens de bug werken alsof ze bij de aangewezen eigenaar hoorden.
Cruciaal detail: het “geheim” van het token veranderde niet. De token bleef hetzelfde, maar de identiteit die de registry ermee associeerde, kon verschuiven. Binnen het permissieniveau van het token kon de gebruiker daardoor bijvoorbeeld images pushen of verwijderen in repositories die bij de (aangewezen) eigenaar hoorden.
Docker vond de situatie zo ernstig omdat de toegang ook het publiceren van images onder een legitieme naam kon omvatten. Dat maakt supply-chain risico’s direct relevanter.
Bereik en tijdlijn: van augustus 2024 tot de fix in september 2026
De kwetsbaarheid stond open van 26 augustus 2024 totdat Docker de fout repareerde op 30 september. Daarmee duurde de blootstelling iets meer dan twee jaar.
Omdat Docker de correctie direct op Docker Hub zelf toepaste, is er volgens de publicatie geen update of installatieactie aan de kant van gebruikers nodig. Wel is het voor organisaties en teams belangrijk om hun PAT’s en automation-accounts te controleren, omdat rechten konden verschuiven tijdens conversies gedurende de periode waarin GhostPat actief was.
CVSS-score en registratie: CVE-2026-105445
Docker trackt de bug als CVE-2026-105445 en classificeerde hem als critical. De publieke CVE-vermelding geeft de kwetsbaarheid een CVSS 4.0 score van 9,4.
Het publiek bekendmaken gebeurde op 13 oktober, terwijl Docker het probleem al had aangepakt. De onderzoekers rapporteerden de bug aan Docker en stellen dat de fix snel werd uitgerold: Docker zegt het minder dan vier uur na ontvangst te hebben doorgevoerd.
Heeft Docker misbruik gezien?
Docker meldt dat er geen bewijs is dat de kwetsbaarheid werd uitgebuit. Dat klinkt geruststellend, maar er zit wel een praktische kant aan de detectie.
Volgens Docker logt de registry wanneer een token wordt gebruikt, niet wanneer een token bestaat. Daardoor kon een overgedragen token dat nooit actief is ingezet, mogelijk buiten beeld blijven. Om die reden behandelt Docker tokens die tijdens conversies onder GhostPat zijn overgedragen als mogelijk beïnvloed, ook als er geen directe log van tokengebruik was.
Wat onderzochten ze precies?
Docker onderzocht conversies en vergeleek die met registry- en tokendata. Daarbij keek het naar gevallen waarin tokens onder een andere identiteit konden worden gebruikt. Docker onderzocht in totaal ongeveer 304.000 pushes die met een overgedragen token waren gedaan.
De uitkomsten van die review richtten zich primair op push-acties. In de advisory wordt niet gespecificeerd wat de resultaten waren voor pulls of deletions met overgedragen tokens, dus die aspecten blijven in de publicatie minder concreet.
Een bijkomende nuance is dat in de meerderheid van de gevallen de “bron”- en “doel”-accounts bij dezelfde persoon of hetzelfde team hoorden. Wanneer dat niet eenduidig kon worden vastgesteld, richtte Docker de aandacht op de hoogste-risico publieke images, waarbij ze geen executie deden maar wel keken naar mogelijke malware of tampering.
De onderzoekers: GhostPat en reproduceerbare stappen
De kwetsbaarheid werd gevonden en gerapporteerd door Peter Molnar en Krisztian Hozak (mptrdev.com). Zij gaven de bug de naam GhostPat.
In hun technische toelichting zeggen ze de fout twee keer te hebben gereproduceerd op testaccounts met instemming. Ze legden uit hoe ze konden inloggen met de target-identiteit, vervolgens een repository in de namespace konden gebruiken, en daarna konden pullen uit private repositories.
Wie werd geïnformeerd en welke tokens zijn uitgezet?
Docker heeft op 2 oktober e-mails gestuurd naar gebruikers waarvan accounts tokens hadden ontvangen. Daarnaast zijn ook organisatie-eigenaren geïnformeerd. Docker duidt de omvang als een limited number maar noemt geen exacte aantallen.
Ontvangers die geen e-mail hebben gekregen, stelt Docker, hebben niets te maken gehad met blootstelling.
Verder heeft Docker op 8 oktober de overgedragen tokens gedeactiveerd die het als beïnvloed identificeerde. Tokens die eigenaren expliciet wilden bewaren, bleven wel actief.
Praktische checklist: wat moet je nu controleren?
Zelfs als Docker geen misbruik constateerde, is het verstandig om je omgeving na te lopen. Docker adviseert om tokens te beoordelen en te revoken wat je niet herkent of niet meer gebruikt. In automation-scenario’s raadt Docker bovendien aan om organization access tokens te gebruiken in plaats van een persoonlijk PAT.
Concreet kun je dit doen:
- Ga naar Account settings en open Personal access tokens. Daar zie je wanneer een token is aangemaakt en wanneer het laatst is gebruikt.
- Let op tokens die je zelf niet hebt gemaakt. Een token-omschrijving kan helpen om verdacht gedrag te herkennen.
- Controleer of je betrokken bent geraakt bij een organisatie-naam die je niet herinnert.
Voor organization access tokens geldt dat ze een abonnement (Docker Team of Docker Business) vereisen. Ze worden beheerd door een organisatie-eigenaar of een rol met de juiste rechten. Ook geven ze andere beheermogelijkheden rond logging en ownership.
Organisatie-logs en governance
Organisatie-eigenaren kunnen relevante push-geschiedenis terugvinden in activity logs. Die logs tonen welke tags zijn gepusht en kunnen de token tonen die daarbij hoorde.
Docker Home bewaart die informatie 30 dagen. Oudere entries zijn volgens de toelichting mogelijk via de Docker Hub API op te halen.
Voor compliance en incidentrespons is dat belangrijk: je kunt zo verifiëren of gepubliceerde images en timestamps passen bij je eigen CI/CD-activiteiten.
Gerelateerd: supply-chain risico’s en patchgedrag
Cloud- en registry-kwetsbaarheden sluiten naadloos aan bij bredere thema’s rond het veilig publiceren en verifiëren van images. Als je wilt zien hoe publicatie- en misbruikscenario’s zich kunnen uiten, is dit ook relevant: AI worm en zelfreplicerende botnets: risico’s—zelfde onderliggende les: beveiliging draait niet alleen om endpoints, maar om de keten.
Daarnaast is het altijd verstandig om je patch- en updateproces strak te houden, ook voor omgevingen die niet primair “containers” zijn. Op die manier voorkom je dat één zwakke schakel je hele softwareleveringsketen verstoort.
Conclusie
Docker Hub GhostPat (CVE-2026-105445) was een critical kwetsbaarheid die door token-eigendomstransfers kon leiden tot push- en verwijdermogelijkheden onder andermans registry-identity. Docker heeft het probleem op 30 september opgelost en zegt geen bewijs van misbruik te hebben gevonden, maar adviseert toch om tokens te controleren en verdachte of niet-gebruikte tokens te revoken.
Door je PAT’s en (waar van toepassing) organization access tokens actief te beheren, en door activity logs na te kijken, verklein je het risico op supply-chain impact en ondersteun je je compliance- en incidentresponsproces.
Bron: https://thehackernews.com/2026/10/docker-fixes-critical-two-year-old-hub.html