Argo-cdeen veelgebruikte tool voor het implementeren van software in Kubernetes, heeft een niet-gepatchte fout in de repo-servercomponent waardoor een niet-geverifieerde aanvaller code kan uitvoeren, op voorwaarde dat hij de interne netwerkpoort van de component kan bereiken.
Synacktiv, die de bug heeft gevonden, zegt dat dit kan leiden tot een volledige clusterovername. Er is geen oplossing en geen CVE. Het bedrijf zegt dat het de fout in januari 2025 aan de beheerders van Argo CD heeft gemeld; Ongeveer achttien maanden later is er nog steeds geen patch voor, dus publiceerde het de details om gebruikers te waarschuwen.
De bug zit in de repo-server, de Argo CD-component die Git-repository’s leest en Kubernetes-manifesten bouwt, de bestanden die bepalen wat het cluster implementeert.
De interne gRPC-service heeft geen authenticatie; iedereen die het kan bereiken, kan een gemaakt verzoek sturen om een opdracht uit te voeren. Synacktiv demonstreerde de aanval op Argo CD v2.13.3 en rapporteert geen gepatchte release; het publiceerde geen volledige lijst met getroffen versies.
De techniek misbruikt kustomisereneen standaardtool die Argo CD uitvoert om repositorybestanden in manifesten om te zetten. Kustomize heeft een –helm-command optie die verwijst naar het binaire bestand helm dat het moet aanroepen.
Synacktiv ontdekte dat een niet-geverifieerd verzoek aan de GenerateManifest-service van de repo-server die optie in plaats daarvan kan instellen op een script, opgehaald uit een door de aanvaller gecontroleerde Git-repository. Wanneer kustomize wordt uitgevoerd, wordt het script uitgevoerd in plaats van het roer.
Maar ‘intern’ betekent niet dat het standaard geïsoleerd is. Argo CD levert Kubernetes-netwerkbeleid dat de repo-server afsluit van alles behalve zijn eigen componenten.
Synacktiv ontdekte dat de Helm-grafiek, een gebruikelijke manier om Argo CD te installeren, dit beleid standaard uitschakelt, met networkPolicy.create ingesteld op false. In die opstelling kan een aanvaller die een enkele pod in het cluster compromitteert, de repo-server bereiken en de bug activeren.
Het uitvoeren van code op de repo-server is niet het einde. Synacktiv gebruikte die toegang om het Redis-wachtwoord van het cluster uit een omgevingsvariabele te lezen, verbinding te maken met de Redis-cache van Argo CD en de opgeslagen implementatiegegevens te vergiftigen. Bij de volgende automatische synchronisatie implementeerde Argo CD een door de aanvaller geleverde werklast.

Met die stap wordt CVE-2024-31989 nieuw leven ingeblazen, een fout die Cycode uit 2024 ontdekte en waarbij Redis van Argo CD geen wachtwoord had, waardoor elke pod in het cluster de implementatiecache vergiftigde. Argo CD heeft dit opgelost door een Redis-wachtwoord toe te voegen, maar de cache zelf is nog steeds niet ondertekend, dus het terug stelen van het wachtwoord heropent dezelfde aanval.
Wat te doen
Er is geen gepatchte versie, dus de verdediging is netwerkisolatie. Schakel het Kubernetes-netwerkbeleid in, zodat alleen de eigen componenten van Argo CD de repo-server en Redis-poorten kunnen bereiken. Argo CD levert de beleidsbestanden; Helm-gebruikers moeten ze inschakelen omdat de grafiek ze uitschakelt.
Controleer wat er actief is met: kubectl krijgt netwerkbeleid -A. Bij een gezonde installatie wordt één netwerkbeleid per component weergegeven, inclusief de repo-server en Redis. Als dit beleid ontbreekt, zijn de repo-server en Redis-poorten bereikbaar vanuit de rest van het cluster.
Synacktiv heeft een tool gebouwd, argo-cdown, die de volledige aanval automatiseert. Het bedrijf houdt de tool voorlopig achterwege om verdedigers de tijd te geven hun netwerkbeleid af te sluiten, en zegt dat het het later op GitHub zal publiceren, zodat beheerders hun eigen implementaties kunnen testen.
Dit is niet de eerste keer dat Argo CD zijn eigen interne elementen blootlegt. In september 2025 werd CVE-2025-55190 gepatcht, waarbij een API-token met alleen basisleestoegang de inloggegevens van de Git-repository van een project kon terughalen, een fout die The Hacker News destijds signaleerde.
In mei 2026 zorgde een andere bug, CVE-2026-42880, ervoor dat alleen-lezen gebruikers Kubernetes-geheimen in platte tekst konden lezen. Het patroon is moeilijk te missen: Argo CD concentreert clustertoegang en repositorygeheimen, en de interne oppervlakken blijven deze verspreiden, tot een niet-geverifieerd verzoek in de ene bug en een token met weinig bevoegdheden in de volgende.
Tot er een patch verschijnt, is het behandelen van het clusternetwerk als vijandig de enige echte verdediging.