hulumi/baseline, Insufficient Technical Documentation / Behavioral Inconsistency, CVE-2026-48035 (High) -DC-Jun2026-341

Listen to this Post

Intro

CVE-2026-48035 describes a vulnerability in the `@hulumi/baseline` package before version 1.4.0, where the S3 bucket created by `AccountFoundation` to store CloudTrail and AWS Config audit logs can be silently weakened in three ways. First, the startup-hardened tier hard-coded `objectLock: false` on the audit bucket, disabling Write-Once-Read-Many (WORM) for all objects, even though the real issue was that bucket-wide Object Lock blocks an AWS Config write-then-delete probe. Second, the `forceDestroy` parameter was forwarded to the audit bucket, allowing a downstream stack to set logBucketForceDestroy: true, which on `pulumi destroy` would purge every audit-log object. Third, the sandbox tier skipped Object Lock, server access logging, and the CloudTrail-Lake EventDataStore, leaving sandbox accounts with no audit immutability. As a result, any S3-delete-capable principal could delete audit logs, and sandbox deployments had no immutability at all. The fix in 1.4.0 introduces a single invariant in `SecureBucket` that refuses `forceDestroy: true` on the startup-hardened tier, ensures the `EventDataStore` is always emitted, and adds a deny `s3:DeleteObject` bucket-policy statement scoped to the CloudTrail and Config history/snapshot prefixes, excluding the AWS Config `ConfigWritabilityCheckFile` probe key so Config’s write-then-delete still works.

DailyCVE Form

Platform: `hulumi/baseline`
Version: `<1.4.0` Vulnerability: `Audit log deletion` Severity: `High` Date: `2026-05-20`

Prediction: `2026-06-15`

What Undercode Say

Check if audit bucket has Object Lock enabled
aws s3api get-object-lock-configuration --bucket <audit-bucket-name>
Check if forceDestroy is allowed
pulumi config get logBucketForceDestroy
Verify bucket policy denies s3:DeleteObject
aws s3api get-bucket-policy --bucket <audit-bucket-name> | jq '.Policy | fromjson | .Statement[] | select(.Effect=="Deny" and .Action | contains("s3:DeleteObject"))'
Simulate a delete attempt (requires appropriate permissions)
aws s3api delete-object --bucket <audit-bucket-name> --key <cloudtrail-log-object-key>

Exploit

An attacker with `s3:DeleteObject` permission on the audit bucket can delete individual audit logs, breaking the forensic trail. If `logBucketForceDestroy: true` is set, a `pulumi destroy` operation will purge all objects in the bucket. In sandbox-tier deployments, there is no Object Lock, no server access logging, and no CloudTrail-Lake EventDataStore, so the attacker can delete logs without any immutable copy.

Protection

Upgrade to @hulumi/[email protected]. The fixed version refuses `forceDestroy: true` on the startup-hardened tier, always creates the EventDataStore, and adds a bucket policy denying `s3:DeleteObject` for the CloudTrail and Config prefixes, except for the Config probe key. As a workaround, replicate audit logs to an Object-Locked archive bucket in a separate account.

Impact

Consumers using `AccountFoundation` could deploy an AWS account where CloudTrail and Config audit logs are deletable by any S3-delete-capable principal, despite believing the startup-hardened tier guaranteed tamper-resistance. Sandbox-tier deployments had no audit immutability at all. This violates security and compliance requirements, potentially hiding malicious activity and impeding forensic investigations.

🎯Let’s Practice Exploiting & Learn Patching For Free:

🎓 Live Courses & Certifications:

Join Undercode Academy for Verified Certifications

🚀 Request a Custom Project:

Secure, high-velocity infrastructure and disruptive technological engineering. Contact our engineering team for high-tier development and proprietary systems:
[email protected]
💎 Smart Architecture | 🛡️ Secure by Design | ⭐ Trusted by Thousands

Sources:

Reported By: github.com
Extra Source Hub:
Undercode

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow DailyCVE & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin Featured Image

Scroll to Top