Skip to main content

@hulumi/baseline CVE-2026-48035

| EUVDEUVD-2026-48725 HIGH
Insufficient Technical Documentation (CWE-1059)
2026-06-10 https://github.com/kerberosmansour/hulumi GHSA-2mxr-p26x-mj73
7.1
CVSS 4.0 · Vendor: https://github.com/kerberosmansour/hulumi
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain IAM access to AWS account
  2. Delivery
    Identify AccountFoundation audit bucket
  3. Exploit
    Perform malicious actions generating CloudTrail/Config events
  4. Execution
    Delete S3 audit objects via s3:DeleteObject* (or trigger pulumi destroy with logBucketForceDestroy)
  5. Impact
    Evade forensic detection and incident response

Vulnerability Assessment

Weakness
CWE
Exploitation Conditions

Requires that the target AWS account was provisioned with @hulumi/baseline AccountFoundation prior to 1.4.0, AND that the attacker holds an IAM identity in that account with s3:DeleteObject or s3:DeleteObjectVersion on the audit-delivery bucket (or the ability to invoke pulumi destroy on a stack where the consumer set logBucketForceDestroy:true). For sandbox-tier deployments no additional configuration is needed because Object Lock, access logging, and the CloudTrail-Lake EventDataStore are all absent by default. Exploitation is LIMITED by: (1) requiring existing access to the AWS account (not remote/unauthenticated - there is no internet-facing component), (2) only the startup-hardened and sandbox tiers being in scope, (3) authentication requirements not confirmed from available data because no CVSS vector is published, and (4) the attack producing forensic erasure rather than direct asset compromise - value depends on the attacker already having performed actions worth concealing.

Impact

No CVSS vector, EPSS score, or KEV listing is provided, so quantitative severity signals are absent; the vendor advisory rates the issue High. This is a forensic integrity / log tamper-resistance weakness rather than an initial-access vulnerability - exploitation does not yield code execution or data exfiltration directly, but it enables an attacker who has already obtained s3:DeleteObject* (or who can trigger pulumi destroy with logBucketForceDestroy=true) to erase the CloudTrail and Config evidence trail of their activity. Real-world risk is therefore highly contextual: organizations relying on AccountFoundation's startup-hardened tier for compliance-grade audit immutability (SOC 2, PCI, breach-investigation defensibility) face material risk, while sandbox-tier deployments are essentially unmonitored from an immutability standpoint. No public exploit identified at time of analysis. Note the CWE-1059 classification (documentation/behavioral inconsistency) is unusual for a security advisory and reflects that the defect is a mismatch between promised and actual behavior - defenders should treat it as a misconfiguration-class issue with audit-integrity consequences.

Exploit ScenarioDerived

An insider or a compromised IAM principal that holds s3:DeleteObject* on the AccountFoundation audit bucket pivots after performing malicious activity, deletes the CloudTrail and AWS Config objects covering the activity window, and leaves no forensic trail because no Object Lock prevents the deletion. Alternatively, an operator with privileges to run pulumi destroy against a downstream stack that sets logBucketForceDestroy:true purges every audit-log object during a routine teardown, either accidentally or as a deliberate cover-up. No public exploit identified at time of analysis; exploitation is operational rather than technical and requires no specialized tooling.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 10, 2026

Audit log tamper-resistance failure in @hulumi/baseline versions prior to 1.4.0 allows any S3-delete-capable principal in the AWS account to silently erase CloudTrail and AWS Config forensic records that the AccountFoundation construct was advertised to protect. Three compounding defects - hard-coded objectLock:false on the startup-hardened tier, unrestricted propagation of forceDestroy/logBucketForceDestroy to the audit bucket, and a sandbox tier that omitted Object Lock, server access logging, and the CloudTrail-Lake EventDataStore entirely - left consumers believing they had immutable audit capture when they did not. No public exploit identified at time of analysis, no CVSS or EPSS published, and the issue is a defense-in-depth/forensic-integrity weakness rather than a remote code execution path.

RemediationAI

Upgrade to @hulumi/baseline 1.4.0, which is the vendor-released patch and applies the SecureBucket invariant that rejects forceDestroy on the hardened tier, always provisions the CloudTrail-Lake EventDataStore (restoring immutable audit capture for sandbox accounts), and adds a deny s3:DeleteObject* bucket-policy statement scoped to the CloudTrail and AWS Config history/snapshot prefixes while excluding the ConfigWritabilityCheckFile probe key so Config's write-then-delete probe continues to function; review the CHANGELOG Migration notes since the forceDestroy behaviour changed and downstream stacks setting logBucketForceDestroy:true on the hardened tier will now fail closed. Patch details and the fix are in PR #178 (https://github.com/kerberosmansour/hulumi/pull/178) and the advisory at https://github.com/kerberosmansour/hulumi/security/advisories/GHSA-2mxr-p26x-mj73. As a partial workaround while upgrading, replicate audit logs out-of-account to an Object-Locked archive bucket - this preserves a tamper-resistant copy but does not retroactively cover logs deleted before replication and does not address the sandbox-tier missing EventDataStore.

Affected VersionsENISA

hulumi < 1.4.0

Affected Packages

npm @hulumi/baseline fix: 1.4.0
euvd hulumi fix: 1.4.0

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 @hulumi/baseline, an npm-distributed Pulumi infrastructure-as-code library whose AccountFoundation construct provisions a baseline AWS account including an S3 bucket that receives CloudTrail trail delivery and AWS Config history/snapshot objects. The root cause is classified as CWE-1059 (Insufficient Technical Documentation / Behavioral Inconsistency): the SecureBucket abstraction documented tamper-resistance for the startup-hardened tier but its implementation disabled S3 Object Lock bucket-wide to accommodate the AWS Config write-then-delete probe (ConfigWritabilityCheckFile), forwarded the destructive forceDestroy flag through to the audit bucket, and silently degraded the sandbox tier by skipping Object Lock, access logging, and the independent CloudTrail-Lake EventDataStore mirror. The 1.4.0 fix introduces an invariant in SecureBucket that triggers whenever awsServiceLogDelivery.cloudTrail or .config is true, rejecting forceDestroy on the hardened tier, always emitting the EventDataStore, and adding a deny s3:DeleteObject* bucket-policy statement scoped to the CloudTrail and Config prefixes (with the Config probe key excluded so write-then-delete still functions).

Know when the next one hits your stack

  • 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

Vendor (https://github.com/kerberosmansour/hulumi) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (https://github.com/kerberosmansour/hulumi) · only source for this CVE.

CVSS VectorVendor: https://github.com/kerberosmansour/hulumi

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
CVSS changed
Jul 24, 2026 - 19:22 NVD
7.1 (HIGH)

DescriptionCVE.org

Affected: @hulumi/baseline < 1.4.0 - Fixed in: 1.4.0 - Severity: High - CWE-1059 (Insufficient Technical Documentation / Behavioral Inconsistency)

Summary

The S3 bucket that AccountFoundation creates to receive CloudTrail and AWS Config audit logs is meant to be tamper-resistant - if someone with delete access can erase from it, the forensic trail is gone. There were three independent ways the protection could be silently weakened:

  1. No Write-Once-Read-Many on the startup-hardened audit bucket. The startup-hardened tier hard-coded objectLock: false on the audit bucket. (The reason was real - bucket-wide Object Lock blocks an AWS Config write-then-delete probe - but the fix was a sledgehammer that disabled WORM for all objects, not just the probe key.)
  2. forceDestroy was forwarded to the audit bucket. Nothing prevented a downstream stack from setting logBucketForceDestroy: true, which made pulumi destroy purge every audit-log object on teardown.
  3. Sandbox tier dropped everything. Sandbox-tier AccountFoundation created its audit bucket with tier: "sandbox", which skipped Object Lock, server access logging, AND the CloudTrail-Lake EventDataStore (the independent immutable mirror) - leaving sandbox accounts with no audit immutability at all.
Impact

Consumers using AccountFoundation could ship an AWS account whose CloudTrail / Config audit logs were deletable by any S3-delete-capable principal - while believing the startup-hardened tier guaranteed tamper-resistance. Sandbox-tier deployments had no audit immutability at all (defects 1 and 3 compounded).

Patches

Upgrade to @hulumi/baseline@1.4.0. A single invariant in SecureBucket now fires whenever the bucket actually backs CloudTrail/Config delivery (i.e. awsServiceLogDelivery.cloudTrail = true || .config = true):

  • refuses forceDestroy: true on the startup-hardened tier;
  • emits the CloudTrail-Lake EventDataStore regardless of parent tier (so sandbox accounts regain immutable audit capture);
  • adds a deny-s3:DeleteObject* bucket-policy statement scoped to the CloudTrail and Config history/snapshot prefixes (a retention floor on the audit objects). The deny excludes the AWS Config ConfigWritabilityCheckFile probe key so Config's write-then-delete still works, which is why bucket-wide Object Lock is intentionally NOT re-enabled.
Workarounds

Replicating audit logs out-of-account to an Object-Locked archive bucket partially mitigates while you upgrade.

Resources
  • PR #178 (Cluster C); see CHANGELOG `

Migration for the forceDestroy` behaviour change.

Executive ViewAI

Why It Matters

@hulumi/baseline versions prior to 1.4.0 allow insiders with S3 permissions to permanently delete CloudTrail and AWS Config records without trace, undermining the immutability protections required for forensic investigations and regulatory compliance. No public exploit identified at time of analysis; the vulnerability enables insider evidence destruction without detection. Patching to version 1.4.0 restores the intended forensic integrity protections.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.0%
Top 87% exploitable
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy