Issue #278
Monday · September 14, 2026
🥖 Palate Cleanser
fwd:cloudsec Europe came and went. The talk videos are not up yet but the full-day streams are, day one and day two. They usually get them up pretty quickly so hopefully next week I can share the pick of the bunch.
Some non-security news that made me really happy because I hate being forced to use ECS. AWS raised the Lambda function timeout to 90 minutes, from the fifteen we have had since 2018. Read the qualifiers though as it only applies to asynchronous and event source mapping invocations on Lambda Managed Instances. Synchronous stays at fifteen and ordinary Lambda is untouched.
The isolation model is different there. Classic Lambda gives every execution environment its own Firecracker microVM. Managed Instances drop that for containers on EC2, and AWS's security docs state, "...containers do not provide security isolation between workloads. All functions assigned to the same capacity provider must be mutually trusted." The trust boundary is now the capacity provider.
This issue is also available to share online. Got feedback? Tell us here.
📋 Chef's selections
The most severe AWS bulletin of the week is a CVSS 9.9 SSRF in SSM Agent. An authenticated principal calling AWS-StartPortForwardingSessionToRemoteHost gets past the destination denylist with an equivalent representation of a link-local address, then reaches IMDS and can steal the instance role credentials remotely. Akira does a good job of explaining the implications of the issue and how to look for exploitation but in my opinion misses the most important detail: what on earth does "equivalent representation of a link-local address" mean? Not explaining "a link-local address, or an unusual representation of one" makes it hard to implement the detection.
Off Guard: Breaking LiteLLM from authentication bypass to cloud compromise
by Amitai Cohen (https://www.linkedin.com/in/amitaico/) and Yaara Shriki
LiteLLM is the most popular open-source LLM gateway, a self-hosted proxy for your model providers. On AWS that's usually EKS or EC2 in your VPC, fronting Bedrock under an instance role. Its admin credential is called the master key, and sk-1234 is still the default for Docker Compose and pip installs. The homies at Wiz scanned 3,074 internet-facing deployments and found 9.6% accept sk-1234 or no key at all. They also found bugs. The MCP endpoint lets anyone call the tools the proxy is connected to (CVE-2026-59822), and any valid API key ran Python as root in the container (CVE-2026-59821). Both are patched. A third won't be; LiteLLM trusts admins by design. The pass-through endpoint does no URL validation, so a master key holder can aim it at 169.254.169.254 and read back the instance role credentials. x-pass- headers forward with the prefix stripped, so IMDSv2 won't save you. Yay.
Machine speed, hold the AI: Hand-rolled marimo CVE-2026-39987 exploit
by Sysdig
Sysdig instrumented a vulnerable marimo container and watched an actor work it. marimo is a Python notebook, and it usually runs on ML pipeline hosts with GPUs, big datasets and AWS credentials sitting right there. CVE-2026-39987 is an RCE in its unauthenticated WebSocket terminal. One actor went from that WebSocket to a shell on a bastion host in eight seconds, stealing the host's credentials and calling secretsmanager:GetSecretValue for the bastion's SSH key. Eight seconds is the speed everyone now thinks of as AI, and this wasn't. Sysdig had planted a file that tries to make an LLM echo a hidden marker. The actor read it twice, never echoed, then hand-wrote 850+ commands over nine hours.
💸 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 Lambda now supports direct read configuration for Amazon S3 Files
- 📢 Amazon CloudWatch now supports network health indicator for TGW inter-Region peering using synthetic monitors
- 📢 AWS Elemental MediaTailor now offers Yield Optimization to automatically fill ad breaks with Amazon Ads demand
- 📢 AWS Elemental MediaLive adds support for A/B forensic watermarking
- 📢 AWS Elemental introduces Dynamic Multiview for live video
- 📢 AWS Private CA EKS add-on and Connector for AD now available in AWS GovCloud (US)
- 📢 AWS Builder ID adds recovery options and multi-factor authentication for third-party logins
- AWS Weekly Roundup: Claude Fable 5.1 on AWS, Amazon Linux 2027 preview, AWS Certified AI Business Strategist, and more (September 7, 2026) by Channy Yun (윤석찬)
- Achieving Single-Sign-On Agentic access to SAP with AWS for SAP MCP Server by Rengarajan Sridharan
- The state of AI for security: Measuring what matters most for building trust by Anshumali Shrivastava
🍛 Reddit threads on r/aws
- Running separate SAST, SCA and container scanners, how are you handling the same CVE coming back with different scores?
- TIL most scanning tools don't actually check for S3 server access logging why does this one specifically get skipped so often???
- KMS hands over plaintext to whatever IAM says. I built a small thing so decrypting needs more than one person
- rolle, an open-source cloud role switcher for people who love(d) Leapp
- Instance locked after "suspicious activity" false positive, support unresponsive and I'm getting desperate..
- Any SOC or ATH specific AWS training?
- Which AWS security checks do you actually care about ??
- Built an open source AWS IAM security tool that actually remediates, not just reports, feedback welcome
🤖 Dessert
Every machine-tracked change this week. Nobody else assembles this.
🧁 IAM permission changes
🍪 API changes
- AWS Batch
- Amazon EC2 Container Service
- AWS Invoicing
- Amazon Lightsail
- AWS Elemental MediaConvert
- Agents for Amazon Bedrock
- Amazon Elastic Compute Cloud
- AWS Outposts
- AWS Resilience Hub V2
- RTBFabric
- Amazon SageMaker Service
- Amazon Connect Service
- Amazon Elastic Compute Cloud
- AWS Elemental Inference
- AWS Elemental MediaLive
- AWS Elemental MediaPackage v2
- AWS MediaTailor
- AWS Parallel Computing Service
- Amazon Appflow
- AWS CloudTrail
- Amazon Connect Service
- Amazon Elastic Compute Cloud
- Application Migration Service
- Amazon Omics
- Amazon Pinpoint SMS Voice V2
- Amazon Simple Storage Service
- AWS S3 Control
- Amazon SageMaker Service
🍹 IAM managed policy changes
- AmazonElasticMapReduceFullAccess
- AWSMarketplaceFullAccess
- AWSTransformApplicationECSDeploymentPolicy
- AWSTransformApplicationDeploymentPolicy
- AWSObservabilityAdminTelemetryEnablementServiceRolePolicy
- AWSGlueConsoleSageMakerNotebookFullAccess
- AWSGlueConsoleFullAccess
- AWSControlTowerServiceRolePolicy
- AIDevOpsOperatorAppAccessPolicy
- AWSCodeDeployRole
- AmazonSageMakerHyperPodInferenceGatewayAccess
- AWSResourceExplorerServiceRolePolicy
- AmazonGuardDutyServiceRolePolicy
- SecurityAudit
- AWSIPAMServiceRolePolicy
- AWSElasticDisasterRecoveryStagingAccountPolicy_v2
- AWSCodeStarServiceRole
- AWSQuickSetupDeploymentRolePolicy
- AWSQuickSetupSSMDeploymentRolePolicy
- AWSQuickSetupJITNADeploymentRolePolicy
☕ CloudFormation resource changes
No resource updates this week.
🎮 Amazon Linux vulnerabilities
- CVE-2026-89147: Net-SNMP SMUX unauthenticated read blocks snmpd
- CVE-2026-89162: PCRE2 serialize_encode two-byte info leak
- CVE-2026-89156: PCRE2 OOB read after JIT fallback
- CVE-2026-77159: libvirt symlink chown hands over any file
- CVE-2026-89160: PCRE2 OOB read on invalid UTF subject
- CVE-2026-89298: Keycloak Dynamic Client Registration flaw
- CVE-2026-18495: libtiff tiff2pdf heap buffer overflow
- CVE-2026-89158: PCRE2 32-bit compile integer overflow to OOB write
- CVE-2026-88914: GStreamer isomp4 closed-caption parsing flaw
- CVE-2026-89161: PCRE2 jit_match incorrect free
- CVE-2026-89092: glibc nscd stack overflow crash
- CVE-2026-19816: PackageKit dnf5 ignores SIMULATE and really removes
- CVE-2026-89329: multipathd local control socket flaw
- CVE-2026-89157: PCRE2 pattern_convert OOB write on 32-bit
- CVE-2026-88013: rclone HTTP backend flaw
- CVE-2026-88045: rclone serve S3 flaw
- CVE-2026-88046: rclone core flaw
- CVE-2026-88031: MongoDB Go Driver GridFS query injection (8.1)
- CVE-2026-88770: Keycloak Device Authorization Grant token flaw
- CVE-2026-88016: rclone backend/local flaw
- CVE-2026-88924: gvfs admin daemon socket chown flaw
- CVE-2026-88859: Evolution spoofed vCard in HTML mail
- CVE-2026-88014: rclone archive ZIP flaw
- CVE-2026-88029: MongoDB Python Driver GridFS query injection (8.8)
- CVE-2026-88044: rclone serve/start flaw
- CVE-2026-88018: rclone serve s3 config flaw
- CVE-2026-88017: rclone FTP auth-proxy flaw
- CVE-2026-88015: rclone backend/local symlink flaw
- CVE-2026-84828: pcs haclient local auth flaw
- CVE-2026-18147: FreeIPA web UI DOM XSS, unauthenticated (8.1)
- CVE-2026-87853: SSSD IdP token compared by prefix only
- CVE-2026-61911: Cyrus IMAP Sieve mailbox existence oracle
- CVE-2026-61909: Cyrus IMAP DAV multiget bypasses per-href ACL
- CVE-2026-61910: Cyrus IMAP sharee can change special-use role
- CVE-2026-87766: bubblewrap symlink escape during sandbox setup
- CVE-2026-87872: Ansible OCAPI modules disable cert validation
- CVE-2026-61908: Cyrus IMAP JMAP blob ID out-of-bounds index
- CVE-2026-61915: Cyrus IMAP VPATCH BYPARAM double-free
- CVE-2026-61907: Cyrus IMAP JMAP snooze bypasses mailbox ACL
- CVE-2026-87874: Ansible memcached plugin stores records unencrypted (8.1)
- CVE-2026-87875: CUPS cupsUTF32ToUTF8 heap OOB read
- CVE-2026-53939: cjose JOSE encryption flaw
- CVE-2026-87876: CUPS case-insensitive username comparison
- CVE-2026-53938: cjose JWE decryption flaw (8.2)
- CVE-2026-18090: gdk-pixbuf ICNS uncompress flaw
- CVE-2026-48521: ECS Service Connect Envoy HTTP/3 null deref
- CVE-2026-69806: dotnet local privilege escalation
- CVE-2026-73548: ECS Service Connect cross-user response poisoning
- CVE-2026-73552: ECS Service Connect non-UTF-8 header RBAC bypass
- CVE-2026-73546: ECS Service Connect stored XSS in stats page
- CVE-2026-58649: dotnet origin validation info disclosure
- CVE-2026-73512: ECS Service Connect QUIC datagram use-after-free
- CVE-2026-74859: gnome-tweaks theme ZIP path traversal
- CVE-2026-73553: ECS Service Connect path parameter RBAC bypass
- CVE-2026-68547: exiv2 RemoteIo heap out-of-bounds read
- CVE-2026-73549: ECS Service Connect IPv6 HTTP/3 crash
- CVE-2026-57099: ASP.NET Core unthrottled allocation DoS
- CVE-2026-73547: ECS Service Connect ext_authz CONNECT crash
- CVE-2026-73551: ECS Service Connect dot-segment normalization mismatch
- CVE-2026-73513: ECS Service Connect HTTP/2 trailers use-after-free
- CVE-2026-73511: ECS Service Connect path segment matching mismatch
- CVE-2026-11573: Qt QDomDocument XML recursion DoS
- CVE-2026-74860: libxml2 Python bindings crafted XML flaw
- CVE-2026-49275: exiv2 CrwMap out-of-bounds read
- CVE-2026-76561: Dogtag PKI profile import validation flaw
- CVE-2026-50572: ECS Service Connect ext_authz client use-after-free
- CVE-2026-73550: ECS Service Connect HTTP/2 Host header memory exhaustion
- CVE-2026-68546: exiv2 RemoteIo heap out-of-bounds write (8.3)
- CVE-2026-85013: environment-modules tab-completion shell injection
📺 AWS security bulletins
- CVE-2026-19311- Missing Authorization in OpenSearch Alerting Plugin
- CVE-2026-89049 - Server-side request forgery in the Session Manager port forwarding functionality in AWS Systems Manager Agent
- CVE-2026-18830 - Issue with Amazon Bedrock AgentCore harness – Insufficient Input Validation
- CVE-2026-85012 - OS command injection in the Amazon CodeCatalyst blueprints SDK
- Issue with FreeRTOS-Kernel - CVE-2026-77234, CVE-2026-77235, CVE-2026-77236, CVE-2026-77237
- CVE-2026-89332 - Kiro IDE Sensitive Workspace Data Exfiltration via Agent-Written Workspace Configuration
- CVE-2026-89090 - Denial of service in the event stream header decoder in AWS SDK for Go v2
- CVE-2026-85781 - Unverified access point ownership in Amazon EFS CSI Driver
- CVE-2026-18428 - OpenSearch SQL Plugin - Async Query Validation Bypass
- CVE-2026-84851- Uncontrolled recursion in the Ion reader in Amazon Ion-C before 1.1.6
- CVE-2026-19111 - Insecure direct object reference in Strands Agents Tools memory tools
- CVE-2026-85788 - Issue with awslabs mysql-mcp-server
- CVE-2026-18952 - Missing Input Validation in OpenSearch Security Analytics Plugin
- CVE-2026-81838 - Zip Slip path traversal in awsdac (diagram-as-code)
- CVE-2026-81849 - Path traversal in the aws:downloadContent plugin in amazon-ssm-agent
- CVE-2026-85787 - An incomplete list of disallowed inputs in the SQL validation component in Amazon awslabs postgres-mcp-server to modify data beyond the read-only scope
- CVE-2026-85028: Creation of Temporary File in Directory with Insecure Permissions in AWS FPGA Development Kit
- CVE-2026-75935 and CVE-2026-75936 - Issue with Amazon ion-java - Memory-amplification denial of service
- CVE-2026-77810 - Issue with Athena Federated Query Neptune Connector
- CVE-2026-75897 - Uncontrolled resource consumption in OpenSearch Dashboards capabilities route
- CVE-2026-18656 & CVE-2026-18657 - Issue with Kiro IDE and CLI - Executable Resolution from Untrusted Project Directory on Windows
- CVE-2026-84942 - Stored Cross-Site Scripting via Vega Expression Function Bypass in OpenSearch Dashboards
- CVE-2026-85228 - Integer overflow in tensor buffer validation in Deep Java Library
- CVE-2026-78379 - Consent bypass in Strands Agents Tools python_repl tool
- CVE-2026-85786 - Incomplete fix for CVE-2026-75936 memory-amplification denial of service in Amazon ion-java
- CVE-2026-18654 - Disabled SSH host key verification in AWS CLI EMR helper commands
- CVE-2026-85654 - Code injection in the CDK generator in Amazon awslabs.dynamodb-mcp-server
- CVE-2026-75910 - Issue with Athena Federated Query Clickhouse Connector
- CVE-2026-18953 - Improper limitation of a pathname in AWS Transform MCP Server
- CVE-2026-77811 - Stored Cross-Site Scripting via Integration Template Asset in OpenSearch Dashboards
- CVE-2026-18061 - XML External Entity (XXE) in AWS Advanced JDBC Wrapper RemoteQueryCachePlugin
- CVE-2026-83497 - OpenSearch SQL Plugin - Unrestricted Java Deserialization in Cursor Pagination
- CVE-2026-87912 and CVE-2026-87913: Missing S3 bucket ownership verification in the AWS Security Agent plugin for aws-agents-for-devsecops and MCP Server
- CVE-2026-18733 - Prompt injection bypasses shell tool consent gate in Strands Agents Tools
- CVE-2026-19642 & CVE-2026-19643 - Memory-safety issues in the Base64 decoder in the AWS SDK for C++
- CVE-2026-18420 - Remote Code Execution via Prototype Pollution in OpenSearch Dashboards TSVB Plugin
- CVE-2026-85656 - OS command injection in Amazon log4j-cve-2021-44228-hotpatch
- CVE-2026-87911
- CVE-2026-83551 - Cleartext storage of HMAC signing key in Amazon SageMaker Python SDK
- CVE-2026-89065 and CVE-2026-89066: Issue with projen - Path traversal and OS command injection
- CVE-2026-18954 - Incorrect authorization in the aggregation pipeline tool in Amazon AWS Labs DocumentDB MCP Server
🚬 Security documentation changes
No changes this week.