Issue #274
Monday · August 17, 2026
🥖 Palate Cleanser
I work for a cloud security company. I've seen some things but this is special. I hope it's just a poorly written announcement or I'm too dumb to parse it correctly. Please someone tell me if it's me and I'll apologize.
AWS shipped IAM Role Manager, which creates IAM roles for you while you are clicking through a service console. The console calls a new AcquireRole API, it finds a matching AWS-managed template (?), and it provisions the role or reuses (wat?) one that already matches. The pitch is that nobody should have to design permissions before they can get started, and this clicky clicky interface makes it easy.
I mean, this would have been perfect if it were 2016 and not 2026. Maybe I'm super out of touch with what new customers need, but don't most people now just ask their AI to make their role for them? Regardless, that's not even the issue. Someone needed a promo and this got it for them. Congrats.
Nah, even my AI, which is blessed with toaster-level intelligence, spotted the real issue and quipped at me, "Which is fine right up until the template is for running your own code." That's because AWS cannot divine pre-defined permissions for running your code. So it does the thing we've been telling every engineer not to do for decades: it attaches an overly permissive PowerUserAccess policy, ON PURPOSE, like a cave dweller. And then they tell us, "When you’re ready, you can disable role manager and get IAM Access Analyzer unused access analysis," like we don't have infinite evidence that telling people to do least privilege after the fact doesn't work. Humans WILL NOT scope-down permissions voluntarily once things are working.
My dudes and dudettes, you've done such good work over the last couple of years pulling everyone back to secure defaults after the mistakes of the past. Please no.
This issue is also available to share online. Got feedback? Tell us here.
📋 Chef's selections
A few notes on AWS Nitro Enclaves: KMS integration
by Paweł Płatek
This one is a couple of weeks old and it should have been in the last issue. My bad. A Nitro Enclave is a stripped-down VM carved out of an EC2 instance to hold your most sensitive code, and AWS lets you lock a KMS key to one exact build of it, proven by a signed attestation document the enclave sends to KMS. The document proves the code and nothing else, and it is not tied to the request it travels with, so for the five minutes it stays valid the untrusted machine underneath can reuse it to call KMS itself, or to change which key and which ciphertext your enclave ends up working on. "Only my enclave can use this key" is a weaker promise than it sounds, and the rest of the post is a checklist of everywhere the integration bites.
TrailTool 1.0: Identity-First Sessions for CloudTrail
by Alex Smolen
TrailTool is Alex's open-source tool for turning raw CloudTrail into sessions, so you can ask what one identity actually did instead of scrolling a firehose of individual events. Working out where a CLI session started and stopped used to be guesswork from timestamps, but when AWS added OAuth to its MCP server, CloudTrail began carrying a real sign-in session ID for agent activity, and 1.0 is a rebuild around reading that field instead of approximating. The payoff is being able to answer which agent did this, rather than which role did this.
A closed network path is not a closed execution path
Nothing profound here, but a nice reminder that event driven architectures in the cloud require a different lens than classic apps. Ramesh wired two accounts together with no network route between them. A message lands on an SQS queue in dev, an event source mapping invokes a Lambda in staging, the staging execution role does the work and answers on a second queue. Then he built the nastier version, where a cross-account EventBridge policy lets an outside account post the event, and the Lambda hands it to an EKS application that reads the message and deletes whichever security group it names. The application was simply acting on input it should not have trusted, but it sat behind security groups, NetworkPolicies and a service mesh, so nothing in the network picture said it was reachable from outside.
💸 Sponsor shoutout
Most code shipped today is AI-generated and the triage queue grew to match. Pleri AI works out which findings are actually exploitable and submits the fix. See the platform and get a free assessment.
🥗 AWS security blogs
- 📢 AWS Certificate Manager supports switching from e-mail to DNS validation
- 📢 AWS IAM now provides role manager to set up IAM roles automatically
- 📢 Amazon Quick agentic AI capabilities are now available in AWS GovCloud (US-West)
- 📢 NVIDIA Nemotron 3.5 Lightning model is now available on Amazon SageMaker JumpStart
- 📢 AWS Marketplace now supports category-based notification subscriptions and multi-channel delivery for buyers
- 📢 AWS Identity and Access Management streamlines assignment of IAM roles to workforce users with account access manager
- Securing the AI development lifecycle with Aikido and Kiro by Len Gomes
- How to authenticate customers during chat with Amazon Connect Customer by Naga Bhargav
- Zero-trust networking for agentic AI with Amazon VPC Lattice by Jason Stinson
- Architecting HIPAA-compliant AI agents to safeguard health data with AWS by Ray Chang
- Run SAP workloads at DoD Impact Level 5 with SAP NS2 on AWS GovCloud (US) by Raj Marpu
- AWS Certificate Manager will discontinue email validation to prove domain validation for certificates by Adam Aboudi
- How AWS IAM role manager rethinks the starting point for IAM roles by Zach Jiang
- Landing Zone Accelerator Independent Assessment Report for C5:2020 now available on AWS Artifact by Kevin Donohue
- Summer 2026 SOC 1 report is now available with 185 services in scope by Baj Bajwa
- AWS successfully completed its 2025-26 NHS DSPT assessment by Tariro Dongo
- AWS completes the 2026 Police-Assured Secure Facilities (PASF) audit in Europe (London) by Tariro Dongo
- 2026 AWS CyberVadis report now available for due diligence on third-party suppliers by Tariro Dongo
🍛 Reddit threads on r/aws
🤖 Dessert
Every machine-tracked change this week. Nobody else assembles this.
🧁 IAM permission changes
No changes this week.
🍪 API changes
- Agents for Amazon Bedrock Runtime
- Amazon Bedrock AgentCore Control
- Amazon Bedrock AgentCore
- AWS Glue
- AmazonMWAAServerless
- CloudWatch Observability Admin Service
- Amazon SageMaker Service
- AWS Certificate Manager
- Auto Scaling
- AWS Clean Rooms Service
- AWS CodeCommit
- Amazon Connect Service
- AWS Security Agent
- AWS Identity and Access Management
- AWS MediaConnect
- odb
- Amazon QuickSight
- AWS Well
- Account Access
- Amazon Bedrock AgentCore
- AWS Clean Rooms Service
- Amazon Connect Service
- Amazon DataZone
- Amazon Elastic Kubernetes Service
- Amazon Connect Service
- AWS Elemental Inference
- AWS Elemental MediaLive
- Amazon SageMaker Runtime
- Amazon SageMaker Service
🍹 IAM managed policy changes
- AWSSupplyChainFederationAdminAccess
- AWSManagedSettingsAdminAccess
- AmazonVPCReachabilityAnalyzerFullAccessPolicy
- AmazonVPCNetworkAccessAnalyzerFullAccessPolicy
- AWSReachabilityAnalyzerServiceRolePolicy
- AWSManagedSettingsAdminAccess
- AWSBudgetsSpendLimitMemberRolePolicy
- SageMakerStudioUserIAMPermissiveExecutionPolicy
- SageMakerStudioUserIAMDefaultExecutionPolicy
- AWSCertificateManagerReadOnly
- AWSWellArchitectedAgentResourceScanningServiceRolePolicy
- AIDevOpsAgentAccessPolicy
- SageMakerStudioDomainExecutionRolePolicy
- AWSMarketplaceSellerFullAccess
- AWSServiceCatalogAppRegistryFullAccess
- SageMakerStudioProjectRoleMachineLearningPolicy
- SageMakerStudioProjectUserRolePolicy
- BedrockAgentCoreFullAccess
- AWSBudgetsSpendLimitMemberRolePolicy
- AWSSDMPServiceRolePolicy
☕ CloudFormation resource changes
🎮 Amazon Linux vulnerabilities
- CVE-2026-50626: QEMU virtio-mmio advertises wrong max queue size
- CVE-2026-16457: QEMU virtqueue handler infinite loop DoS
- CVE-2026-63318: QEMU 9pfs readonly check bypass
- CVE-2026-66021: QEMU virtio-gpu blob size unvalidated
- CVE-2026-19879: Undertow response header narrowing cast
- CVE-2026-18724: open-iscsi stack buffer overflow in record parsing
- CVE-2026-13002: dnsmasq DNSSEC infinite loop DoS
- CVE-2026-18725: open-iscsi OOB access in ICMPv6 echo
- CVE-2026-19617: libdm LVM metadata nesting DoS
- CVE-2026-15741: PostgreSQL EXTRACT() SQL injection to superuser
- CVE-2026-56864: Go malicious GOSUMDB serves unlogged modules
- CVE-2026-53790: rsync command and argument injection
- CVE-2026-53797: rsync symlink race in sender traversal
- CVE-2026-14671: PostgreSQL refint type confusion RCE
- CVE-2026-70456: rsync OOB write in read_args()
- CVE-2026-53794: rsync --max-alloc logic error disables cap
- CVE-2026-14677: PostgreSQL pltcl/plperl integer wraparound
- CVE-2026-53796: rsync TOCTOU race in receiver destination
- CVE-2026-73585: sblim-cmpi-base insecure temp file creation
- CVE-2026-70454: rsync TLS certificate validation bypass
- CVE-2026-70457: rsync OOB write in parse_size_arg()
- CVE-2026-70455: rsync DoS via --zt resource exhaustion
- CVE-2026-53791: rsync daemon IP spoofing bypasses access control
- CVE-2026-70452: rsync hosts deny bypass via DNS rebinding
- CVE-2026-16239: PostgreSQL cursor type confusion RCE
- CVE-2026-56865: Go GOPROXY forges tiles to bypass GOSUMDB
- CVE-2026-70462: rsync integer overflow disables I/O timeout
- CVE-2026-53801: rsync symlink race in sender directory scan
- CVE-2026-6470: PostgreSQL DDL missing authorization DoS
- CVE-2026-6464: PostgreSQL psql COPY runs data as commands
- CVE-2026-53793: rsync path confinement bypass
- CVE-2026-16241: PostgreSQL ECPG integer underflow DoS
- CVE-2026-70461: rsync heap OOB write
- CVE-2026-14676: PostgreSQL pg_stat_statements heap overflow RCE
- CVE-2026-14662: PostgreSQL tsvector integer wraparound
- CVE-2026-70460: rsync path traversal via symlinks
- CVE-2026-53800: rsync symlink race in --remove-source-files
- CVE-2026-6471: PostgreSQL logical decoding dlopen abuse
- CVE-2026-73566: node-tar filesFilter path matching flaw
- CVE-2026-73584: sblim-sfcb migration race condition
- CVE-2026-14678: PostgreSQL pg_trgm buffer over-read
- CVE-2026-33818: Go Unmarshal stack exhaustion on nested input
- CVE-2026-14679: PostgreSQL argument matching stack overflow
- CVE-2026-70459: rsync NULL deref crashes daemon child
- CVE-2026-53788: rsync newline injection in uid/gid mapping
- CVE-2026-70453: rsync hash_search() complexity DoS
- CVE-2026-14669: PostgreSQL to_char() heap overflow RCE
- CVE-2026-14666: PostgreSQL stale row-level security cache
- CVE-2026-14670: PostgreSQL plperl tied hash heap overflow RCE
- CVE-2026-18728: open-iscsi integer underflow in DHCP
- CVE-2026-14663: PostgreSQL pgcrypto cleartext recovery
- CVE-2026-70463: rsync auth users parsing bypass
- CVE-2026-14668: PostgreSQL ctid type confusion info leak
- CVE-2026-14672: PostgreSQL SCRAM user enumeration
- CVE-2026-73583: sblim-sfcb unsafe deserialization
- CVE-2026-70458: rsync OOB write via HLINK_BUMP
- CVE-2026-53798: rsync privilege confusion in name-converter
- CVE-2026-15742: PostgreSQL fuzzystrmatch wraparound RCE
- CVE-2026-14664: PostgreSQL regexp heap overflow RCE
- CVE-2026-18024: PostgreSQL ascii() buffer over-read
- CVE-2026-18408: PostgreSQL pg_dump restore-time code injection
- CVE-2026-53786: rsync filter rule bypass
- CVE-2026-53799: rsync symlink race applies arbitrary ACLs
- CVE-2026-14681: PostgreSQL GSSAPI bypasses pg_hba rules
- CVE-2026-53795: rsync arbitrary file write outside destination
- CVE-2026-56860: Go relative path resolution slowdown
- CVE-2026-53789: rsync --delete scope expansion
- CVE-2026-6469: PostgreSQL ALTER TYPE reassigns stats ownership
- CVE-2026-70464: rsync daemon connection slot exhaustion
- CVE-2026-56862: Go TLS KeyUpdate state handling flaw
- CVE-2026-53792: rsync OOB read in block matching
- CVE-2026-53803: rsync symlink following overwrites files
- CVE-2026-14680: PostgreSQL internal type confusion RCE
- CVE-2026-19385: PostgreSQL pg_dump transform list overflow RCE
- CVE-2026-19487: Perl incorrect regex match results
- CVE-2026-53785: rsync path traversal writes outside destination
- CVE-2026-56858: Go unescaped slash allows content injection
- CVE-2026-14673: PostgreSQL amcheck untrusted search path
- CVE-2026-56853: Go HTTP/2 prefix read DoS
- CVE-2026-53802: rsync arbitrary file read
- CVE-2026-16238: PostgreSQL pg_restore_attribute_stats RCE
- CVE-2026-53783: rsync TOCTOU in rrsync wrapper
- CVE-2026-56859: Go DecodeElement depth reset stack exhaustion
- CVE-2026-53784: rsync path traversal escapes module root
- CVE-2026-19548: binutils ld use-after-free
- CVE-2026-73434: GStreamer avidemux vprp OOB read
- CVE-2026-18663: 389-ds-base double free on session tracking
- CVE-2026-18726: open-iscsi local network DoS
- CVE-2026-73500: etcd remote DoS
- CVE-2026-73433: GStreamer avidemux strd OOB
- CVE-2026-19654: rsyslog imptcp crash
- CVE-2026-73499: etcd read permission info exposure
- CVE-2026-18727: open-iscsi integer underflow OOB read
- CVE-2026-73075: Vim popup negative row use
- CVE-2026-62901: dotnet unchecked loop condition DoS
- CVE-2026-62899: dotnet HTTP request smuggling
- CVE-2026-73231: Faker eval code execution
- CVE-2026-73281: OpenSSH ssh-agent remote token operations
- CVE-2026-73076: Vim vimball arbitrary file write
- CVE-2026-73070: Vim socket server unbounded connections
- CVE-2026-72712: Nmap remote crash
- CVE-2026-73241: FreeRDP RDSTLS accepts attacker value
- CVE-2026-20901: Intel Xeon firmware validation privesc
- CVE-2026-73078: Vim netrw plugin autoload flaw
- CVE-2026-72693: kbd openvt -u privilege escalation
- CVE-2025-31938: Intel TDX access control info disclosure
- CVE-2026-73072: Vim spellfile stale value reuse
- CVE-2026-73242: FreeRDP kerberos decrypt flaw
- CVE-2026-73282: OpenSSH realloc use-after-free
- CVE-2026-72694: MRTG privilege drop flaw
- CVE-2026-5917: libgit2 libssh2 shell command injection
- CVE-2026-62900: dotnet sensitive info disclosure
- CVE-2026-29036: cJSON pointer resolution flaw
- CVE-2026-20716: Intel ring 3 access control privesc
- CVE-2026-73283: OpenSSH restrict keyword misses tunnel forwarding
- CVE-2026-73071: Vim json_decode_item stale pointer
- CVE-2026-72745: FreeRDP kerberos OOB
- CVE-2026-71217: iperf3 oversized JSON parameters
- CVE-2025-31936: Intel TDX SMM memory overlap privesc
- CVE-2026-71290: Apache HttpClient TLS hostname check bypass
- CVE-2026-20917: Intel transient execution info disclosure
- CVE-2026-73077: Vim shell ftplugin flaw
- CVE-2026-69184: c-ares DNS compression pointer CPU exhaustion
- CVE-2026-71218: iperf3 JSON_read peer-controlled input
- CVE-2026-72746: FreeRDP RDSTLS server auth bypass
- CVE-2025-35973: Intel improper value handling privesc
- CVE-2026-20713: Intel Xeon firmware control flow privesc
- CVE-2026-73074: Vim textprop proplen OOB
- CVE-2026-19546: perl-DBI follow-up fix for CVE-2026-14380
- CVE-2026-20760: Intel hypervisor memory overlap privesc
- CVE-2026-14180: Undertow ChunkReader flaw
- CVE-2026-69186: c-ares DNS record count memory amplification
- CVE-2026-19550: FreeIPA trust-fetch-domains permission gating
- CVE-2026-20707: Intel Xeon race condition DoS
- CVE-2026-62909: dotnet uncaught exception local privesc
📺 AWS security bulletins
- CVE-2026-19642 & CVE-2026-19643 - Memory-safety issues in the Base64 decoder in the AWS SDK for C++
- CVE-2026-19311- Missing Authorization in OpenSearch Alerting Plugin
- CVE-2026-18428 - OpenSearch SQL Plugin - Async Query Validation Bypass
- CVE-2026-18952 - Missing Input Validation in OpenSearch Security Analytics Plugin