Skip to main content

awswrangler EUVDEUVD-2026-115329

| CVE-2026-119301 MEDIUM
Improper Neutralization of Quoting Syntax (CWE-149)
2026-11-02 AMZN
5.0
CVSS 4.0 · Vendor: AMZN
View

Attack ChainAIDerived

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

  1. Access
    Obtain glue:UpdateTable on shared Glue catalog
  2. Delivery
    Inject crafted column name into table metadata
  3. Exploit
    Privileged principal runs to_iceberg() on table
  4. Execution
    Identifier breaks out of Athena SQL quoting
  5. Impact
    Read and write victim principal's tables

Vulnerability Assessment

Weakness
CWE
Exploitation Conditions

Requires a shared AWS Glue Data Catalog in which the attacker is an authenticated principal holding glue:UpdateTable (or equivalent catalog-metadata modify) permission on a database/table that a victim processes, AND a separate, more-privileged principal that invokes awswrangler/aws-sdk-pandas to_iceberg() on that same table while running versions 3.5.2 through 3.17.0. Exploitation is limited by several factors: the attacker must already have catalog-write access, the privileged victim must actually run to_iceberg() against the poisoned table (required user interaction), and the deployment must pair a shared catalog with an over-privileged Iceberg writer - environments where catalog-metadata write and to_iceberg() privileges are held by the same trust level are not exposed. The advisory states there is no complete workaround short of upgrading; partial mitigations are to avoid calling to_iceberg() with a principal more privileged than those who can modify that table's Glue metadata and to restrict glue:UpdateTable and related permissions on shared databases.

Impact

This is a genuine but conditional privilege-escalation / data-exposure issue, not a mass-exploitation threat. The CVSS 3.1 vector (AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:L, 7.9 High) tells a coherent story that matches the description: the attack is network-reachable but requires an already-authenticated principal (PR:L) who holds glue:UpdateTable/catalog-modify rights, succeeds only when a separate more-privileged principal independently runs to_iceberg() against the poisoned table (UI:R), and crosses a privilege boundary (S:C) to expose and corrupt that victim principal's data (C:H/I:H, A:L). The high attack complexity (AC:H) reflects the dependency on the victim's actions and specific shared-catalog conditions rather than any described timing or race - the trigger mechanics beyond 'crafted column name spliced into generated Athena SQL' are only loosely detailed in the sources. No EPSS score and no KEV listing were supplied, and there is no public exploit identified at time of analysis; the only references are the vendor advisory, the AWS security bulletin, and the patched release. The vuln.today decision label is 'this_week' (not act_now/emergency), consistent with a real-but-not-urgent priority: the preconditions (shared Glue Data Catalog, an over-privileged to_iceberg() caller, attacker already holding catalog-write permission) meaningfully constrain real-world exploitation. Signals are consistent rather than conflicting; the main missing data are EPSS and any exploitation telemetry.

Exploit ScenarioDerived

In an environment with a shared AWS Glue Data Catalog, a lower-privileged but authenticated user who holds glue:UpdateTable on a shared database alters a table's metadata to introduce a maliciously crafted column name. When a separate, more-privileged pipeline or principal later calls awswrangler's to_iceberg() against that table, the unescaped identifier is spliced into generated Amazon Athena SQL, letting the attacker read any table that privileged principal can access and write to the table it is updating. No public proof-of-concept is referenced, and success depends on the victim principal performing the to_iceberg() operation.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available

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

Alert me

AnalysisAIv1 – Nov 02, 2026

SQL identifier injection in the Apache Iceberg write path of AWS SDK for pandas (awswrangler) 3.5.2 through 3.17.0 allows an authenticated principal that can modify AWS Glue Data Catalog metadata to read any table a separate, more privileged principal can access - and to write to the very table that principal is updating - by planting a crafted column name that is spliced unescaped into generated Athena SQL. The flaw is conditional rather than broadly exploitable: the attacker must already hold glue:UpdateTable (or equivalent catalog-modify) rights on a shared database, a more-privileged principal must then invoke to_iceberg() against the poisoned table (required user interaction), and the deployment must pair a shared catalog with an over-privileged Iceberg writer. No public exploit code and no confirmed active exploitation were identified at time of analysis; the vendor rates it as a privilege-escalation/data-exposure issue fixed in 3.17.1 and prioritizes it for patching this week.

RemediationAI

Vendor-released patch: upgrade awswrangler to 3.17.1 or later (fixed release https://github.com/aws/aws-sdk-pandas/releases/tag/3.17.1, containing PR #3423 which escapes identifiers in Iceberg SQL generation); the vendor recommends running the latest version and porting the fix into any forked or derivative code. The advisory states there is no complete workaround for earlier versions, so upgrading is the only full fix. Partial mitigations available in the interim are to stop calling to_iceberg() with a principal that holds more privileges than the principals able to modify that table's AWS Glue Data Catalog metadata, and to restrict glue:UpdateTable and related permissions on shared databases - both reduce exposure but neither fully closes the injection path. Vendor advisory: https://github.com/aws/aws-sdk-pandas/security/advisories/GHSA-g8fh-6w6x-mhqf; AWS bulletin: https://aws.amazon.com/security/security-bulletins/2026-161-aws/.

Affected VersionsENISA

aws-sdk-pandas 3.5.2 <3.17.1

Affected Packages

euvd aws_sdk_pandas fix: 3.17.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

awswrangler is an open-source Python library that bridges pandas with AWS analytics services. When to_iceberg() reconciles a DataFrame schema against an existing Amazon Athena/Glue table, it builds SQL statements by string-splicing table and column identifiers - including column names read back from the AWS Glue Data Catalog - without escaping the identifier delimiter (CWE-149, improper neutralization of quoting syntax; the GitHub advisory also classifies the root cause as CWE-89 SQL injection). Because catalog-supplied names are trusted as identifiers rather than data, a poisoned column name can break out of its quoting context and alter the structure of the SQL the privileged caller executes through Athena, which is the mechanism behind the cross-principal read/write impact. The upstream fix, PR #3423 ('fix(athena): properly escape identifiers in Iceberg SQL generation') in release 3.17.1, addresses this. The trigger path is shared-catalog metadata reconciliation; no other deployment mode is described in the available sources.

Know when AWS 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

Vendor (AMZN) PRIMARY 5.0 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:A/VC:N/VI:N/VA:N/SC:H/SI:H/SA:L
vuln.today AI 7.9 HIGH

Attacker is an authenticated catalog-write user (PR:L), success depends on a separate privileged principal running to_iceberg() (UI:R, AC:H), and impact crosses principals (S:C) to read/write victim tables (C:H/I:H/A:L).

3.1 AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:L
4.0 AV:N/AC:H/AT:N/PR:L/UI:A/VC:H/VI:H/VA:L/SC:L/SI:L/SA:N

Primary rating from Vendor (AMZN).

CVSS VectorVendor: AMZN

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

Lifecycle Timeline

3
Severity Changed
Nov 02, 2026 - 17:37 NVD
HIGH MEDIUM
CVSS changed
Nov 02, 2026 - 17:37 NVD
7.9 (HIGH) 5.0 (MEDIUM)
CVE Published
Nov 02, 2026 - 16:34 cve.org
HIGH 7.9

DescriptionCVE.org

Improper neutralization of quoting syntax in SQL identifier construction in the Apache Iceberg write component in AWS SDK for pandas (also published as awswrangler) 3.5.2 through 3.17.0 might allow an authenticated remote user with permission to modify AWS Glue Data Catalog metadata to read any table that a separate, more privileged principal can access and write to the table that principal is updating via a crafted column name.

To remediate this issue, users should upgrade to version 3.17.1 or later.

Executive ViewAI

Why It Matters

A high-severity SQL injection vulnerability in awswrangler (AWS SDK for pandas) versions 3.5.2 through 3.17.0 could allow an authenticated attacker with Glue Data Catalog modification rights to escalate privileges and read or write data belonging to more privileged principals. This affects organizations using shared data catalogs with Iceberg write operations, potentially exposing sensitive datasets and compromising data integrity. Leadership should prioritize remediation because exploitation requires only catalog-modify permissions and a privileged user action, which is plausible in multi-team data environments.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

Prevalence
Medium
popular AWS data-engineering Python library, common but not universally deployed
Social Media
1
Sightings
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 MEDIUM
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

25
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +25
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.

More in AWS

View all
CVE-2026-103956 CRITICAL POC
10.0 Oct 02

Loom for AWS deployments running a version before 1.6.1 with no identity provider configured expose an unauthenticated s

CVE-2026-27702 CRITICAL POC
9.9 Feb 25

Unauthorized data access in Budibase low-code platform before 3.30.4 allows unauthenticated users to manipulate internal

CVE-2025-64709 CRITICAL POC
9.9 Nov 13

Authenticated Typebot users can abuse the webhook block (HTTP Request component) in versions prior to 3.13.1 to issue ar

CVE-2020-37153 CRITICAL POC
9.8 Feb 11

Multiple vulnerabilities in ASTPP 4.0.1 including XSS and command injection in SIP device configuration and plugin manag

CVE-2026-87911 CRITICAL POC
9.0 Sep 09

Remote code execution in Amazon awslabs postgres-mcp-server before 1.1.7 lets remote actors run arbitrary OS commands on

CVE-2026-11393 HIGH POC
8.8 Jun 08

Remote code execution in AWS AgentCore CLI before v0.14.2 allows authenticated attackers to inject Python code via craft

CVE-2026-18140 HIGH POC
8.7 Jul 30

Denial of service in the aws-smithy-json Rust runtime crate (versions before 0.62.7) lets remote unauthenticated attacke

CVE-2026-16756 HIGH POC
8.7 Jul 23

Denial of service in Amazon's aws-smithy-http-server Rust crate (versions prior to 0.66.5) lets remote unauthenticated a

CVE-2026-16796 HIGH POC
8.4 Jul 23

Argument injection in the AWS Bedrock AgentCore Python SDK before 1.18.1 lets a remote authenticated user run arbitrary

CVE-2026-9133 HIGH POC
8.3 May 20

Arbitrary file read in amazon-mq rabbitmq-aws before 0.2.1 allows authenticated remote users to read any file accessible

CVE-2026-13763 HIGH POC
7.9 Jun 29

WAF managed-rule body inspection on AWS Application Load Balancer (ALB) can be bypassed by remote actors who fragment an

CVE-2026-13762 HIGH POC
7.9 Jun 29

WAF inspection bypass in Amazon CloudFront (with AWS WAF enabled) lets remote actors smuggle malicious request bodies pa

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