{"id":"CVE-2026-127119","kind":"vulnerability","aliases":["CVE-2026-127119"],"related":[],"title":"Unverified ownership of the default cluster log location in the EMR module in AWS SDK for pandas (awswrangler) from…","description":"CVE-2026-127119 - Unverified ownership of the default EMR cluster log location in AWS SDK for pandas\n\n### CVE-2026-127119 - Unverified ownership of the default EMR cluster log location in AWS SDK for pandas\n\nBulletin ID: 2026-181-AWS Scope: AWS Content Type: Important (requires attention) Publication Date: 11/12/2026 10:45 PM PST\n\n Description:\n\nAWS SDK for pandas (awswrangler) is an open-source Python library that integrates pandas with AWS services, including Amazon EMR.\n\nWe identified CVE-2026-127119, an issue in the EMR module of AWS SDK for pandas (awswrangler) from version 1.1.0 before 3.18.0. When a cluster is created without an explicit log location, the library uses a predictable default S3 bucket name for the cluster logs without verifying that the caller's account owns that bucket. A remote actor who creates that bucket first could read the cluster's logs, including job step output. \n\nImpacted versions: >= 1.1.0 AND < 3.18.0\n\nResolution:\n\nThis issue has been addressed in awswrangler version 3.18.0. We recommend upgrading to the latest version and ensuring any forked or derivative code is patched to incorporate the new fixes. Users who rely on the default log location should also make sure the caller has s3:ListBucket on the default log bucket, which version 3.18.0 requires to verify bucket ownership.\n\nWorkarounds:\n\nIf you cannot upgrade immediately, pass an explicit log location that points to a bucket you own when creating clusters with AWS SDK for pandas, or create the default EMR log bucket (aws-logs-{account}-{region}) in your own account in each region you use. If that bucket name is already taken by another account, treat it as untrusted and use an explicit log location.\n\nReferences:\n\n- CVE-2026-127119\n\nAcknowledgement:\n\nWe would like to thank Upwind Security 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":"When awswrangler creates an EMR cluster without an explicit log location, it writes logs to a predictable default S3 bucket name without checking that the caller's account owns it. A remote attacker who creates that bucket first can read the cluster's logs, including job step output.","severity":"medium","cvss":5.9,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["aws","awswrangler","emr","lab-disclosure","package","python"],"not_affected_if":["explicit-log-location","no-emr-usage","version-3.18.0-or-later"],"how_to_check":"- Check the installed version with `pip show awswrangler` and compare against the affected range.\n- Search your code for EMR cluster creation calls that omit an explicit log location.\n- Check whether the default log bucket `aws-logs-{account}-{region}` exists in each region you use and whether your account owns it.","fix":"- `awswrangler` `3.18.0`: upgrade to this version or later; the release requires `s3:ListBucket` on the default log bucket to verify ownership.","status":"open","published_at":"2026-11-12T19:17:03+00:00","first_seen_at":"2026-11-12T19:26:24+00:00","triaged_at":"2026-11-12T19:28:12+00:00","updated_at":"2026-11-12T19:40:14+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-11-12T19:28:12Z","model":"claude-haiku-5-5","output":{"fix":"- `awswrangler` `3.18.0`: upgrade to this version or later; the release requires `s3:ListBucket` on the default log bucket to verify ownership.","reach":"internet","title":"AWS SDK for pandas: EMR cluster logs readable through a squatted default bucket","impact":"medium","summary":"When awswrangler creates an EMR cluster without an explicit log location, it writes logs to a predictable default S3 bucket name without checking that the caller's account owns it. A remote attacker who creates that bucket first can read the cluster's logs, including job step output.","audience":"developers","category":"package","nicknames":[],"who_cares":["aws","python","emr","awswrangler"],"confidence":0.8,"fix_status":"available","needs_auth":"no","worst_case":"Remote attacker reads EMR cluster logs and job step output","analyst_note":"","how_to_check":"- Check the installed version with `pip show awswrangler` and compare against the affected range.\n- Search your code for EMR cluster creation calls that omit an explicit log location.\n- Check whether the default log bucket `aws-logs-{account}-{region}` exists in each region you use and whether your account owns it.","plain_action":"","product_name":"","needs_analyst":false,"not_affected_if":["explicit-log-location","version-3.18.0-or-later","no-emr-usage"],"who_is_affected":"Teams using awswrangler from 1.1.0 before 3.18.0 to create Amazon EMR clusters without passing an explicit log location. Code that always passes an explicit log location pointing to a bucket the team owns is not exposed. The default bucket name is predictable, so an attacker in another account can create it first and collect logs.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000835,"input_tokens":5202,"output_tokens":629,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-127119':21A,24A,83C,100C,160C,365C '-181':118C '-2026':20A,23A,82C,99C,159C,364C '1.1.0':175C,231C '10':130C '11/12/2026':129C '2026':117C '3.18.0':177C,233C,243C,289C '45':131C 'account':60B,207C,331C,336C,351C 'acknowledg':366C 'actor':213C 'address':239C 'alreadi':347C 'also':274C 'amazon':154C 'anoth':350C 'attack':65B 'attent':126C 'aw':14A,25B,94C,111C,119C,121C,135C,151C,168C,317C,329C 'aws-log':328C 'aws-security@amazon.com':387C 'awswrangl':18A,26B,34B,139C,172C,241C 'bucket':52B,69B,195C,210C,217C,286C,293C,310C,327C,344C 'bulletin':115C 'caller':58B,205C,278C 'cannot':298C 'check':55B 'cluster':6A,38B,74B,90C,107C,180C,199C,222C,315C 'code':257C 'collabor':375C 'concern':393C 'content':122C 'coordin':381C 'could':219C 'creat':35B,67B,182C,215C,314C,322C 'cve':19A,22A,81C,98C,158C,363C 'date':128C 'default':5A,50B,88C,105C,193C,270C,284C,324C 'deriv':256C 'descript':134C 'disclosur':30B,383C 'email':386C 'emr':11A,27B,37B,89C,106C,155C,165C,325C 'ensur':252C 'explicit':41B,185C,303C,359C 'first':70B,218C 'fix':264C 'fork':254C 'id':116C 'identifi':157C 'immedi':300C 'impact':229C 'import':124C 'includ':77B,153C,225C 'incorpor':261C 'integr':148C 'issu':162C,236C,378C 'job':78B,226C 'lab':29B 'lab-disclosur':28B 'latest':249C 'librari':146C,189C 'like':369C 'listbucket':281C 'locat':8A,43B,92C,109C,187C,272C,305C,361C 'log':7A,42B,46B,76B,91C,108C,186C,200C,224C,271C,285C,304C,326C,330C,360C 'make':275C 'modul':12A,166C 'name':53B,196C,345C 'new':263C 'open':143C 'open-sourc':142C 'output':80B,228C 'own':61B,208C 'ownership':2A,85C,102C,294C 'packag':31B 'panda':17A,97C,114C,138C,149C,171C,320C 'pass':301C 'patch':259C 'pleas':385C 'pm':132C 'point':307C 'predict':49B,192C 'process':384C 'pst':133C 'public':127C 'python':32B,145C 'question':391C 'read':72B,220C 'recommend':245C 'refer':362C 'region':332C,339C 'reli':267C 'remot':64B,212C 'requir':125C,290C 'resolut':234C 's3':51B,194C,280C 'scope':120C 'sdk':15A,95C,112C,136C,169C,318C 'secur':373C,390C 'servic':152C 'sourc':144C 'step':79B,227C 'sure':276C 'taken':348C 'thank':371C 'treat':352C 'type':123C 'untrust':355C 'unverifi':1A,84C,101C 'upgrad':246C,299C 'upwind':372C 'use':190C,341C,357C 'user':265C 'verifi':202C,292C 'version':174C,230C,242C,250C,288C 'vulner':382C 'without':39B,54B,183C,201C 'workaround':295C 'would':368C 'write':45B","nicknames":[],"mitigations":[],"who_affected":"Teams using awswrangler from 1.1.0 before 3.18.0 to create Amazon EMR clusters without passing an explicit log location. Code that always passes an explicit log location pointing to a bucket the team owns is not exposed. The default bucket name is predictable, so an attacker in another account can create it first and collect logs.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["aws","awswrangler","emr","labdisclosure","medium","package","python"],"campaign_type":null,"search_a":"'-127119':21A,24A '-2026':20A,23A 'aw':14A 'awswrangl':18A 'cluster':6A 'cve':19A,22A 'default':5A 'emr':11A 'locat':8A 'log':7A 'modul':12A 'ownership':2A 'panda':17A 'sdk':15A 'unverifi':1A","search_b":"'account':60B 'attack':65B 'aw':25B 'awswrangl':26B,34B 'bucket':52B,69B 'caller':58B 'check':55B 'cluster':38B,74B 'creat':35B,67B 'default':50B 'disclosur':30B 'emr':27B,37B 'explicit':41B 'first':70B 'includ':77B 'job':78B 'lab':29B 'lab-disclosur':28B 'locat':43B 'log':42B,46B,76B 'name':53B 'output':80B 'own':61B 'packag':31B 'predict':49B 'python':32B 'read':72B 'remot':64B 's3':51B 'step':79B 'without':39B,54B 'write':45B","search_c":"'-127119':83C,100C,160C,365C '-181':118C '-2026':82C,99C,159C,364C '1.1.0':175C,231C '10':130C '11/12/2026':129C '2026':117C '3.18.0':177C,233C,243C,289C '45':131C 'account':207C,331C,336C,351C 'acknowledg':366C 'actor':213C 'address':239C 'alreadi':347C 'also':274C 'amazon':154C 'anoth':350C 'attent':126C 'aw':94C,111C,119C,121C,135C,151C,168C,317C,329C 'aws-log':328C 'aws-security@amazon.com':387C 'awswrangl':139C,172C,241C 'bucket':195C,210C,217C,286C,293C,310C,327C,344C 'bulletin':115C 'caller':205C,278C 'cannot':298C 'cluster':90C,107C,180C,199C,222C,315C 'code':257C 'collabor':375C 'concern':393C 'content':122C 'coordin':381C 'could':219C 'creat':182C,215C,314C,322C 'cve':81C,98C,158C,363C 'date':128C 'default':88C,105C,193C,270C,284C,324C 'deriv':256C 'descript':134C 'disclosur':383C 'email':386C 'emr':89C,106C,155C,165C,325C 'ensur':252C 'explicit':185C,303C,359C 'first':218C 'fix':264C 'fork':254C 'id':116C 'identifi':157C 'immedi':300C 'impact':229C 'import':124C 'includ':153C,225C 'incorpor':261C 'integr':148C 'issu':162C,236C,378C 'job':226C 'latest':249C 'librari':146C,189C 'like':369C 'listbucket':281C 'locat':92C,109C,187C,272C,305C,361C 'log':91C,108C,186C,200C,224C,271C,285C,304C,326C,330C,360C 'make':275C 'modul':166C 'name':196C,345C 'new':263C 'open':143C 'open-sourc':142C 'output':228C 'own':208C 'ownership':85C,102C,294C 'panda':97C,114C,138C,149C,171C,320C 'pass':301C 'patch':259C 'pleas':385C 'pm':132C 'point':307C 'predict':192C 'process':384C 'pst':133C 'public':127C 'python':145C 'question':391C 'read':220C 'recommend':245C 'refer':362C 'region':332C,339C 'reli':267C 'remot':212C 'requir':125C,290C 'resolut':234C 's3':194C,280C 'scope':120C 'sdk':95C,112C,136C,169C,318C 'secur':373C,390C 'servic':152C 'sourc':144C 'step':227C 'sure':276C 'taken':348C 'thank':371C 'treat':352C 'type':123C 'untrust':355C 'unverifi':84C,101C 'upgrad':246C,299C 'upwind':372C 'use':190C,341C,357C 'user':265C 'verifi':202C,292C 'version':174C,230C,242C,250C,288C 'vulner':382C 'without':183C,201C 'workaround':295C 'would':368C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-12T19:07:08+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"ff89ba41-3aa1-4d27-914a-91399e9639e5","poc_count":0,"sources":[{"source":"lab","external_id":"https://aws.amazon.com/security/security-bulletins/2026-181-aws/#CVE-2026-127119","url":"https://aws.amazon.com/security/security-bulletins/2026-181-aws/","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-11-12T19:26:24+00:00","fetched_at":"2026-11-12T19:26:24+00:00","note":"AWS: CVE-2026-127119 - Unverified ownership of the default EMR cluster log location in AWS SDK for pandas"},{"source":"nvd","external_id":"CVE-2026-127119","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-127119","severity":null,"published_at":"2026-11-12T19:17:03+00:00","modified_at":"2026-11-12T19:24:37+00:00","first_seen_at":"2026-11-12T19:40:14+00:00","fetched_at":"2026-11-12T19:40:14+00:00","note":null}],"documents":[{"id":137750,"url":"https://aws.amazon.com/security/security-bulletins/2026-181-aws/","title":"AWS: CVE-2026-127119 - Unverified ownership of the default EMR cluster log location in AWS SDK for pandas","kind":"advisory","source":"lab","publisher":"research","text":"CVE-2026-127119 - Unverified ownership of the default EMR cluster log location in AWS SDK for pandas\n\n### CVE-2026-127119 - Unverified ownership of the default EMR cluster log location in AWS SDK for pandas\n\nBulletin ID: 2026-181-AWS Scope: AWS Content Type: Important (requires attention) Publication Date: 11/12/2026 10:45 PM PST\n\n Description:\n\nAWS SDK for pandas (awswrangler) is an open-source Python library that integrates pandas with AWS services, including Amazon EMR.\n\nWe identified CVE-2026-127119, an issue in the EMR module of AWS SDK for pandas (awswrangler) from version 1.1.0 before 3.18.0. When a cluster is created without an explicit log location, the library uses a predictable default S3 bucket name for the cluster logs without verifying that the caller's account owns that bucket. A remote actor who creates that bucket first could read the cluster's logs, including job step output. \n\nImpacted versions: >= 1.1.0 AND < 3.18.0\n\nResolution:\n\nThis issue has been addressed in awswrangler version 3.18.0. We recommend upgrading to the latest version and ensuring any forked or derivative code is patched to incorporate the new fixes. Users who rely on the default log location should also make sure the caller has s3:ListBucket on the default log bucket, which version 3.18.0 requires to verify bucket ownership.\n\nWorkarounds:\n\nIf you cannot upgrade immediately, pass an explicit log location that points to a bucket you own when creating clusters with AWS SDK for pandas, or create the default EMR log bucket (aws-logs-{account}-{region}) in your own account in each region you use. If that bucket name is already taken by another account, treat it as untrusted and use an explicit log location.\n\nReferences:\n\n- CVE-2026-127119\n\nAcknowledgement:\n\nWe would like to thank Upwind Security 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":null,"relation":"advisory","confidence":null,"note":null},{"id":137854,"url":"https://github.com/aws/aws-sdk-pandas/releases/tag/3.18.0","title":"Release notes: github.com","kind":"release","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Release notes: github.com"},{"id":137917,"url":"https://aws.amazon.com/security/security-bulletins/rss/2026-181-aws/","title":"AWS Security Bulletins: CVE-2026-127119 - Unverified ownership of the default EMR cluster log location in AWS SDK for pandas","kind":"vendor","source":"vendor","publisher":null,"text":"CVE-2026-127119 - Unverified ownership of the default EMR cluster log location in AWS SDK for pandas\n\nBulletin ID: 2026-181-AWS Publication Date: 11/12/2026 13:00 PM PST Description: We identified CVE-2026-127119, an issue in the EMR module of AWS SDK for pandas (awswrangler) from version 1.1.0 before 3.18.0. When a cluster is created without an explicit log location, the library uses a predictable default S3 bucket name for the cluster logs without verifying that the caller's account owns that bucket. A remote actor who creates that bucket first could read the cluster's logs, including job step output. Impacted versions: >= 1.1.0 AND < 3.18.0 Refer to the article for the most up-to-date and complete information.","published_at":"2026-11-12T19:07:08+00:00","relation":"advisory","confidence":null,"note":"AWS Security Bulletins"}],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}