CVE-2026-82856: Fejl i @hulumi/policies skjuler brede OIDC-roller
Fejl i @hulumi/policies lader jokertegn smutte forbi kontrol af GitHub Actions-tillidspolitikker. Opdatér til 1.3.2.
Hvad er det?
CVE-2026-82856 er en fejl i biblioteket @hulumi/policies, som mange virksomheder bruger som sikkerhedsvagt (guardrail) i deres Pulumi-infrastrukturkode. Biblioteket skal kontrollere, at AWS IAM-tillidspolitikker (regler for, hvem der må påtage sig en rolle) til GitHub Actions OIDC (en godkendelsesmetode, hvor GitHub udsteder tokens, som AWS stoler på) ikke er sat for bredt op. Fejlen ligger i, at biblioteket ikke tjekker de såkaldte set-kvalificerede betingelsesoperatorer korrekt. Det betyder, at en betingelse skrevet med operatoren ForAnyValue:StringLike kan indeholde et jokertegn, uden at kontrollen slår alarm. Resultatet er, at en tillidspolitik, der ser stram ud, i praksis giver adgang til langt flere GitHub-workflows end tilsigtet.
Hvem rammer det?
Det rammer virksomheder, der bruger @hulumi/policies i version tidligere end 1.3.2 til at validere AWS IAM-tillidspolitikker for GitHub Actions OIDC. Det er typisk teams, der bygger AWS-infrastruktur med Pulumi og har sat sikkerhedspolitikker op for automatisk at afvise for brede eller usikre IAM-roller. Danske virksomheder med CI/CD-pipelines (automatiseret bygge- og udrulningsflow), der bruger GitHub Actions til at deploye til AWS uden statiske adgangsnøgler, er de mest relevante.
Hvad kan ske?
Hvis en tillidspolitik med en skjult jokertegns-betingelse slipper igennem kontrollen, kan en GitHub Actions-workflow fra et repository eller en branch, som IKKE var tiltænkt adgang, alligevel få lov at påtage sig AWS-rollen. Det kan give en angriber, der har skrevet adgang til et forkert repository, eller en person med adgang til en gaflet (forked) workflow, mulighed for at få de samme AWS-rettigheder som den tiltænkte pipeline. I praksis kan det betyde adgang til data, mulighed for at ændre infrastruktur eller oprette nye ressourcer på virksomhedens regning.
Hvor alvorligt er det?
CVSS-scoren er 9,8 af 10, hvilket afspejler, at selve konsekvensen, hvis betingelsen bliver udnyttet, er alvorlig: fuld fortrolighed, integritet og tilgængelighed kan blive kompromitteret. Vektoren kræver ikke login og ingen brugerhandling, fordi den beskriver, hvad der sker, når IAM-rollen først kan påtages. I praksis kræver misbrug dog, at angriberen har skrivadgang til et GitHub-repository eller en workflow-fil, der udnytter den manglende kontrol. Der er ingen kendte tilfælde af aktiv udnyttelse på offentliggørelsesdatoen, og der er ikke offentliggjort færdig kode til angreb.
Hvad gør jeg nu?
Følg disse skridt for at lukke hullet og fjerne risikoen for skjulte, for brede tillidspolitikker.
- Opdatér @hulumi/policies til version 1.3.2 eller nyere i alle Pulumi-projekter.
- Gennemgå eksisterende AWS IAM-tillidspolitikker for GitHub Actions OIDC og se efter operatorer som ForAnyValue:StringLike med brede mønstre i sub-betingelsen.
- Begræns sub-betingelsen til specifikke repositories, branches eller tags i stedet for jokertegn.
- Aktivér og gennemgå CloudTrail-logs for AssumeRoleWithWebIdentity, så I kan opdage uventet brug af rollerne.
- Kør policy-kontrollen igen på alle miljøer efter opdateringen for at bekræfte, at ingen politikker længere fejler.
- Kontakt os, hvis I ikke selv har ressourcer til at gennemgå IAM-politikker eller vurdere omfanget af eksponeringen.
Opdatér inden en uge
Vi anbefaler, at I opdaterer @hulumi/policies til 1.3.2 og derefter manuelt gennemgår jeres eksisterende IAM-tillidspolitikker for skjulte jokertegn. Det er sikkert at vente til jeres næste planlagte deployment, hvis I ikke har adskillige teams med skriveadgang til jeres GitHub-organisation, men vi vil ikke vente længere end en uge, da fejlen påvirker et kontrollag, der er svært at overvåge manuelt.
Tidslinje
Konkrete eksempler
Bred adgang forklædt som stram politik
Et dansk softwarehus bruger Pulumi og @hulumi/policies til at godkende IAM-roller til deployment via GitHub Actions. En udvikler opsætter ved en fejl en tillidspolitik med ForAnyValue:StringLike og et jokertegn i sub-betingelsen. Guardrail-værktøjet godkender politikken, fordi det ikke fanger jokertegnet, og et forgrenet (forked) workflow fra en anden afdeling får senere adgang til at deploye til produktionsmiljøet, uden det var tilsigtet.
Ofte stillede spørgsmål
Er vi ramt af denne sårbarhed?
I er ramt, hvis I bruger @hulumi/policies i version før 1.3.2 til at validere AWS IAM-tillidspolitikker for GitHub Actions OIDC. Tjek jeres package.json eller Pulumi-projektets afhængigheder.
Hvordan tjekker vi, om en tillidspolitik allerede er sårbar?
Gennemgå IAM-rollernes tillidspolitikker og se efter betingelser med operatoren ForAnyValue:StringLike på token.actions.githubusercontent.com:sub. Hvis mønsteret indeholder et jokertegn som repo:org/*, er politikken bredere end den ser ud til.
Kan vi vente til weekenden med at opdatere?
Ja, hvis kun et begrænset antal betroede medarbejdere har skrivadgang til jeres GitHub-repositories og workflows. Har I eksterne bidragydere eller mange teams med adgang, bør I opdatere og gennemgå politikkerne før weekenden.
Skal vi anmelde dette som et sikkerhedsbrud?
Nej, ikke i sig selv. Det er en fejl i et kontrolværktøj, ikke bevis for et konkret angreb. Find I derimod tegn på, at en rolle er blevet påtaget uden tilsigtet adgang, bør I undersøge det som en potentiel sikkerhedshændelse.
Hvad gør fejlen egentlig anderledes end en normal fejlkonfiguration?
Forskellen er, at fejlen skjuler problemet for jeres automatiske sikkerhedskontrol. I tror politikken er stram, fordi guardrail-værktøjet godkendte den, men i praksis er den bred på grund af den manglende validering af set-operatoren.
Påvirker fejlen andre skyudbydere end AWS?
Nej, fejlen er specifik for AWS IAM-tillidspolitikker og GitHub Actions OIDC-integrationen. Bruger I OIDC mod andre udbydere, er det ikke omfattet af denne konkrete sårbarhed.
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)
@hulumi/policies versions before 1.3.2 fail to properly validate set-qualified AWS IAM condition operators in GitHub OIDC trust policies. Attackers can use ForAnyValue:StringLike operators to hide wildcard GitHub Actions OIDC subject conditions from security guardrails.
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.