Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthor IAM trust policy with ForAnyValue:StringLike wildcard sub
-
DeliverySubmit to CI/IaC using hulumi/policies < 1.3.2
-
ExploitGuardrail fails to parse set-qualified operator
-
ExecutionOverbroad OIDC trust merged
-
PersistUnintended GitHub workflow assumes AWS role
-
ImpactAccess AWS resources
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Access control enforcement
MITRE ATT&CK
1 technique across 1 tactic: Defense Evasion The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that @hulumi/policies (version < 1.3.2) is actually used to inspect AWS IAM GitHub OIDC trust policies, and that an attacker can introduce or influence a trust policy that expresses the GitHub Actions OIDC 'sub' condition using a set-qualified operator such as ForAnyValue:StringLike (or ForAllValues:) with a wildcard value. The condition that triggers the flaw is specifically the use of set-qualified StringLike/StringEquals operators, which the pre-1.3.2 inspector did not evaluate. Limiting factors: the library must be the (or a) enforcement point; the malicious/overbroad policy must be accepted into the environment; and independent AWS-side controls or manual review, if present, can catch the wildcard even when this library does not. The flaw does not directly compromise the library host - impact is realized in AWS. |
| Impact | The signals are mixed and should be read carefully. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H) rates this Critical (9.3), but that vector describes worst-case downstream AWS compromise rather than a direct network exploit of the library itself - the library is a static/CI-time inspector, so 'attack' means slipping a crafted IAM trust policy past it, after which the actual privilege gain occurs in AWS. There is no EPSS score provided, no CISA KEV listing, and no public proof-of-concept identified, so this is not evidence of active or widespread exploitation; it is a serious latent misconfiguration-detection gap. Real-world priority depends heavily on how the library is used: teams that rely on @hulumi/policies as their sole guardrail for GitHub-OIDC-to-AWS trust policies should treat it as urgent, because a bypassed check can silently authorize any GitHub repository/branch to assume a role, whereas teams with layered controls (manual review, AWS-side condition enforcement, IAM Access Analyzer) face lower effective risk. Net: high-impact-if-relevant but exploitation is gated on the specific deployment, so it is a fix-promptly issue for users of this package rather than an internet-wide emergency. |
| Exploit ScenarioDerived | An engineer (or a malicious contributor) submits an infrastructure-as-code change adding an AWS role whose GitHub OIDC trust policy uses ForAnyValue:StringLike to set the 'sub' claim to a wildcard; the pre-merge @hulumi/policies guardrail (pre-1.3.2) fails to recognize the set-qualified operator and approves it. Once merged, workflows from unintended repositories or branches can assume that AWS role via OIDC. No public exploit code is identified at time of analysis; exploitation requires the crafted policy to be introduced into a pipeline that trusts this library as its guardrail. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAI
Security-guardrail bypass in the @hulumi/policies npm library (versions before 1.3.2) allows dangerous AWS IAM configurations to pass automated policy inspection. The G_OIDC_1 trust-policy inspector only matched exact StringLike/StringEquals condition operators, so set-qualified operators like ForAnyValue:StringLike could smuggle wildcard GitHub Actions OIDC 'sub' conditions past the mandatory check, letting an overly permissive AWS role assumption go undetected. Reported by VulnCheck; no public exploit is identified at time of analysis, and it is not on CISA KEV. The CVSS 4.0 score is 9.3 (Critical).
RemediationAI
Vendor-released patch: upgrade @hulumi/policies to 1.3.2 or later, in which the AWS trust-policy inspector now evaluates set-qualified string operators (ForAnyValue:/ForAllValues:) and rejects unsafe GitHub OIDC 'sub' conditions; pin or bump the dependency in package.json/lockfiles and re-run policy checks across existing IaC. As a compensating control until you upgrade, audit existing AWS role trust policies for GitHub OIDC and reject or tighten any token.actions.githubusercontent.com:sub condition that uses a wildcard (repo:ORG/*:* or similar) or a set-qualified operator, and enforce that check on the AWS side (e.g., IAM Access Analyzer custom policy checks or a CI gate) so detection does not depend solely on the vulnerable library - the trade-off is added review overhead and potential false positives on legitimately broad-but-intended subjects. Refer to GHSA-q2f7-m237-v562 and the VulnCheck advisory for the exact affected/fixed versions.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in npm, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected component is a policy-as-code inspection library (npm/@hulumi/policies) used to validate AWS IAM trust policies - specifically GitHub OIDC federation trust relationships that let GitHub Actions workflows assume AWS roles via web-identity federation. AWS IAM condition operators can be qualified with set operators (ForAllValues:, ForAnyValue:) to evaluate multi-valued condition keys. The library's guardrail G_OIDC_1 enforced that the token subject (token.actions.githubusercontent.com:sub) not be a wildcard, but it only inspected the bare operator keys (StringLike/StringEquals). A trust policy expressing the same wildcard via ForAnyValue:StringLike was not parsed as the same operator class, so the unsafe condition was invisible to the check. This maps to CWE-284 (Improper Access Control): the root cause is an incomplete allow/deny evaluation of a security-relevant input, not a memory-safety or injection flaw.
Know when Hulumi gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Scope change (S:C) because the vulnerable inspector differs from the impacted AWS resources; PR:N as crafting the policy needs no library credentials, though exploitation depends on the policy being accepted; worst-case role assumption yields high C/I/A.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
@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.
Technical POC Analysis
This is CWE-284, Improper Access Control.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Evidence-validation bypass in @hulumi/policies (npm) before 1.3.2 lets actors in a deployment pipeline suppress Cloudfla
Privilege escalation in the @hulumi/policies npm package before 1.3.2 lets attackers bypass the administrator-policy gua
IAM boundary bypass in hulumi versions before v1.3.2 stems from a deployment Service Control Policy (SCP) template that
Privilege escalation in hulumi before v1.3.2 lets an actor holding the documented IAM principal abuse the weekly integra
Security-check bypass in @hulumi/drift before 1.3.2 allows remote attackers to submit forged execute plans that the orph
Policy evaluation bypass in @hulumi/policies before 1.3.2 permits unauthenticated remote attackers to submit forged Secu
Incomplete CloudTrail event-selector tampering detection in @hulumi/baseline before 1.3.2 (CWE-778: Insufficient Logging
Arbitrary code execution in Hulumi before v1.3.2 is possible through a CWE-426 untrusted search path flaw in the threat-
EUVD-2026-68444
GHSA-24pm-8839-wg8f
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB