{"id":"GHSA-g8fh-6w6x-mhqf","kind":"vulnerability","aliases":["GHSA-g8fh-6w6x-mhqf"],"related":[],"title":"CVE-2026-119301 - Improper neutralization of quoting syntax in Apache Iceberg SQL identifier generation in AWS SDK for pandas","description":"CVE-2026-119301 - Improper neutralization of quoting syntax in Apache Iceberg SQL identifier generation in AWS SDK for pandas\n\n### CVE-2026-119301 - Improper neutralization of quoting syntax in Apache Iceberg SQL identifier generation in AWS SDK for pandas\n\nBulletin ID: 2026-161-AWS Scope: AWS Content Type: Important (requires attention) Publication Date: 11/02/2026 08:30 AM PST\n\nDescription:\n\nAWS SDK for pandas (awswrangler) is an open-source Python library that integrates pandas with AWS data services such as Amazon Athena, Amazon S3, and AWS Glue. We are aware of CVE-2026-119301 in the Apache Iceberg write component, where improper neutralization of quoting syntax in SQL identifier construction could allow an authenticated 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.\n\nImpacted versions: awswrangler >= 3.5.2, < 3.17.1\n\nResolution:\n\nThis issue has been addressed in AWS SDK for pandas version 3.17.1, released August 3, 2026. We recommend upgrading to the latest version and ensuring any forked or derivative code is patched to incorporate the new fixes.\n\nWorkarounds:\n\nThere is no complete workaround for earlier versions. Until you upgrade, avoid calling to_iceberg() with a principal that has more privileges than the principals who can modify that table's AWS Glue Data Catalog metadata, and restrict glue:UpdateTable and related permissions on shared databases.\n\nReferences:\n\n- CVE-2026-119301\n- GHSA-g8fh-6w6x-mhqf\n\nAcknowledgement:\n\nWe would like to thank George Chen for collaborating on this issue through the coordinated vulnerability disclosure process.\n\n Please email aws-security@amazon.com with any security questions or concerns.","summary":"AWS SDK for pandas (awswrangler) builds SQL identifiers unsafely in its Apache Iceberg write path, so a crafted column name can break out of quoting. An authenticated user who can edit AWS Glue Data Catalog metadata can thereby read tables that a more privileged principal can access and write to the table that principal is updating.","severity":"unknown","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["athena","aws","aws-glue","iceberg","lab-disclosure","package","python"],"not_affected_if":["no-to-iceberg-usage","single-principal-access","version-3.17.1-or-later"],"how_to_check":"- Check the installed version with `pip show awswrangler`; affected versions are `>= 3.5.2` and `< 3.17.1`.\n- Look for scripts or jobs that call `to_iceberg()` and check which IAM principal runs them.\n- Review who holds `glue:UpdateTable` and related permissions on shared Glue databases.","fix":"- AWS SDK for pandas (awswrangler): upgrade to `3.17.1` or later.\n- Forked or derivative code: apply the same fixes.","status":"open","published_at":null,"first_seen_at":"2026-11-02T17:02:21+00:00","triaged_at":"2026-11-02T17:03:43+00:00","updated_at":"2026-11-02T17:03:43+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-11-02T17:03:43Z","model":"claude-haiku-5-5","output":{"fix":"- AWS SDK for pandas (awswrangler): upgrade to `3.17.1` or later.\n- Forked or derivative code: apply the same fixes.","reach":"network","title":"AWS SDK for pandas: Iceberg column names let a user read other tables","impact":"medium","summary":"AWS SDK for pandas (awswrangler) builds SQL identifiers unsafely in its Apache Iceberg write path, so a crafted column name can break out of quoting. An authenticated user who can edit AWS Glue Data Catalog metadata can thereby read tables that a more privileged principal can access and write to the table that principal is updating.","audience":"developers","category":"package","nicknames":[],"who_cares":["python","aws","aws-glue","athena","iceberg"],"confidence":0.8,"fix_status":"available","needs_auth":"yes","worst_case":"Lower-privileged user reads tables that a more privileged principal can access.","analyst_note":"","how_to_check":"- Check the installed version with `pip show awswrangler`; affected versions are `>= 3.5.2` and `< 3.17.1`.\n- Look for scripts or jobs that call `to_iceberg()` and check which IAM principal runs them.\n- Review who holds `glue:UpdateTable` and related permissions on shared Glue databases.","plain_action":"","needs_analyst":false,"not_affected_if":["no-to-iceberg-usage","single-principal-access","version-3.17.1-or-later"],"who_is_affected":"Teams that use awswrangler's to_iceberg() write path against AWS Glue Data Catalog tables, especially where a lower-privileged principal can modify table metadata and a higher-privileged principal writes to the same table. The source says there is no complete workaround for earlier versions; until upgrade, avoid calling to_iceberg() with a more privileged principal and restrict glue:UpdateTable on shared databases.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.000826,"input_tokens":4800,"output_tokens":692,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-119301':3A,99C,118C,189C,339C '-161':138C '-2026':2A,98C,117C,188C,338C '08':150C '11/02/2026':149C '2026':137C,267C '3':266C '3.17.1':250C,263C '3.5.2':249C '30':151C '6w6x':23A,28A,343C 'access':87B,231C 'acknowledg':345C 'address':256C 'allow':207C 'amazon':176C,178C 'apach':10A,52B,106C,125C,192C 'athena':30B,177C 'attent':146C 'august':265C 'authent':67B,209C 'avoid':301C 'aw':16A,31B,33B,41B,72B,112C,131C,139C,141C,155C,171C,181C,215C,258C,321C 'awar':185C 'aws-glu':32B 'aws-security@amazon.com':366C 'awswrangl':45B,159C,248C 'break':62B 'build':46B 'bulletin':135C 'call':302C 'catalog':75B,218C,324C 'chen':352C 'code':281C 'collabor':354C 'column':59B,244C 'complet':293C 'compon':195C 'concern':372C 'construct':205C 'content':142C 'coordin':360C 'could':206C 'craft':58B,243C 'cve':1A,97C,116C,187C,337C 'data':74B,172C,217C,323C 'databas':335C 'date':148C 'deriv':280C 'descript':154C 'disclosur':38B,362C 'earlier':296C 'edit':71B 'email':365C 'ensur':276C 'fix':288C 'fork':278C 'g8fh':22A,27A,342C 'generat':14A,110C,129C 'georg':351C 'ghsa':21A,26A,341C 'ghsa-g8fh-6w6x-mhqf':20A,25A,340C 'glue':34B,73B,182C,216C,322C,328C 'iceberg':11A,35B,53B,107C,126C,193C,304C 'id':136C 'identifi':13A,48B,109C,128C,204C 'impact':246C 'import':144C 'improp':4A,100C,119C,197C 'incorpor':285C 'integr':168C 'issu':253C,357C 'lab':37B 'lab-disclosur':36B 'latest':273C 'librari':166C 'like':348C 'metadata':76B,219C,325C 'mhqf':24A,29A,344C 'modifi':214C,317C 'name':60B,245C 'neutral':5A,101C,120C,198C 'new':287C 'open':163C 'open-sourc':162C 'packag':39B 'panda':19A,44B,115C,134C,158C,169C,261C 'patch':283C 'path':55B 'permiss':212C,332C 'pleas':364C 'princip':85B,94B,229C,238C,307C,314C 'privileg':84B,228C,311C 'process':363C 'pst':153C 'public':147C 'python':40B,165C 'question':370C 'quot':7A,65B,103C,122C,200C 'read':79B,221C 'recommend':269C 'refer':336C 'relat':331C 'releas':264C 'requir':145C 'resolut':251C 'restrict':327C 's3':179C 'scope':140C 'sdk':17A,42B,113C,132C,156C,259C 'secur':369C 'separ':226C 'servic':173C 'share':334C 'sourc':164C 'sql':12A,47B,108C,127C,203C 'syntax':8A,104C,123C,201C 'tabl':80B,92B,223C,236C,319C 'thank':350C 'therebi':78B 'type':143C 'unsaf':49B 'updat':96B,240C 'updatet':329C 'upgrad':270C,300C 'user':68B,210C 'version':247C,262C,274C,297C 'via':241C 'vulner':361C 'workaround':289C,294C 'would':347C 'write':54B,89B,194C,233C","nicknames":[],"mitigations":[],"who_affected":"Teams that use awswrangler's to_iceberg() write path against AWS Glue Data Catalog tables, especially where a lower-privileged principal can modify table metadata and a higher-privileged principal writes to the same table. The source says there is no complete workaround for earlier versions; until upgrade, avoid calling to_iceberg() with a more privileged principal and restrict glue:UpdateTable on shared databases.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["athena","aws","awsglue","iceberg","labdisclosure","package","python","unknown"],"first_public_at":"2026-11-02T16:40:57+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"lab","external_id":"https://aws.amazon.com/security/security-bulletins/rss/2026-161-aws/#GHSA-g8fh-6w6x-mhqf","url":"https://aws.amazon.com/security/security-bulletins/rss/2026-161-aws/","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-11-02T17:02:21+00:00","fetched_at":"2026-11-02T17:02:21+00:00","note":"AWS: CVE-2026-119301 - Improper neutralization of quoting syntax in Apache Iceberg SQL identifier generation in AWS SDK for pandas"}],"documents":[{"id":52972,"url":"https://aws.amazon.com/security/security-bulletins/rss/2026-161-aws/","title":"AWS: CVE-2026-119301 - Improper neutralization of quoting syntax in Apache Iceberg SQL identifier generation in AWS SDK for pandas","kind":"vendor","source":"vendor","publisher":"research","text":"CVE-2026-119301 - Improper neutralization of quoting syntax in Apache Iceberg SQL identifier generation in AWS SDK for pandas\n\n### CVE-2026-119301 - Improper neutralization of quoting syntax in Apache Iceberg SQL identifier generation in AWS SDK for pandas\n\nBulletin ID: 2026-161-AWS Scope: AWS Content Type: Important (requires attention) Publication Date: 11/02/2026 08:30 AM PST\n\nDescription:\n\nAWS SDK for pandas (awswrangler) is an open-source Python library that integrates pandas with AWS data services such as Amazon Athena, Amazon S3, and AWS Glue. We are aware of CVE-2026-119301 in the Apache Iceberg write component, where improper neutralization of quoting syntax in SQL identifier construction could allow an authenticated 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.\n\nImpacted versions: awswrangler >= 3.5.2, < 3.17.1\n\nResolution:\n\nThis issue has been addressed in AWS SDK for pandas version 3.17.1, released August 3, 2026. We recommend upgrading to the latest version and ensuring any forked or derivative code is patched to incorporate the new fixes.\n\nWorkarounds:\n\nThere is no complete workaround for earlier versions. Until you upgrade, avoid calling to_iceberg() with a principal that has more privileges than the principals who can modify that table's AWS Glue Data Catalog metadata, and restrict glue:UpdateTable and related permissions on shared databases.\n\nReferences:\n\n- CVE-2026-119301\n- GHSA-g8fh-6w6x-mhqf\n\nAcknowledgement:\n\nWe would like to thank George Chen for collaborating on this issue through the coordinated vulnerability disclosure process.\n\n Please email aws-security@amazon.com with any security questions or concerns.","published_at":"2026-11-02T16:40:57+00:00","relation":"mentions","confidence":null,"note":null}],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}