{"id":"GHSA-69c4-mvf5-5xm3","kind":"vulnerability","aliases":["GHSA-69c4-mvf5-5xm3"],"related":[],"title":"CVE-2026-108096: Improper authorization in query resolvers for SQL-backed models in AWS Amplify API Category","description":"CVE-2026-108096: Improper authorization in query resolvers for SQL-backed models in AWS Amplify API Category\n\n### CVE-2026-108096: Improper authorization in query resolvers for SQL-backed models in AWS Amplify API Category\n\nBulletin ID: 2026-133-AWS Scope: AWS Content Type: Important (requires attention) Publication Date: 10/09/2026 11:00 AM PDT\n\nDescription:\n\nAWS Amplify API Category is a CDK Construct library for defining GraphQL data models with authorization rules as AWS AppSync APIs. We identified CVE-2026-108096, where improper authorization in the query resolvers generated by @aws-amplify/graphql-index-transformer might allow an authenticated remote user to read records owned by other users of the same application via crafted queries.\n\nImpacted versions:\n\n- @aws-amplify/graphql-index-transformer >=2.2.0, <3.1.2;\n- @aws-amplify/graphql-api-construct >=1.4.0, <1.21.4;\n- @aws-amplify/data-construct <1.17.4\n\nResolution:\n\nThis issue has been addressed in @aws-amplify/graphql-index-transformer 3.1.2 (included in @aws-amplify/data-construct 1.17.4 and @aws-amplify/graphql-api-construct 1.21.4). We recommend upgrading to the latest version ensuring any forked or derivative code is patched to incorporate the new fixes and then redeploying their backend.\n\nWorkarounds:\n\nNo workarounds are available.\n\nReferences:\n\n- CVE-2026-108096\n- GHSA-69c4-mvf5-5xm3\n\n Please email aws-security@amazon.com with any security questions or concerns.","summary":"Query resolvers generated for SQL-backed models in the Amplify API Category skip proper authorization checks, so a signed-in user can craft GraphQL queries to read records owned by other users of the same application. The fix is in the updated index transformer and the constructs that bundle it, and no workaround is documented.","severity":"high","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["appsync","aws","aws-amplify","graphql","javascript","lab-disclosure","package","typescript"],"not_affected_if":["fixed-version","no-sql-backed-models"],"how_to_check":"- Check the installed `@aws-amplify/graphql-index-transformer` version in `package.json` and lockfile; affected if below `3.1.2`\n- Check `@aws-amplify/graphql-api-construct` (affected below `1.21.4`) and `@aws-amplify/data-construct` (affected below `1.17.4`)\n- Confirm whether the backend uses SQL-backed models with query resolvers and authorization rules","fix":"- Upgrade `@aws-amplify/graphql-index-transformer` to `3.1.2`\n- Upgrade `@aws-amplify/data-construct` to `1.17.4` or `@aws-amplify/graphql-api-construct` to `1.21.4`\n- Patch any forked or derivative code, then redeploy the backend","status":"open","published_at":null,"first_seen_at":"2026-10-24T19:28:16+00:00","triaged_at":"2026-10-25T04:50:17+00:00","updated_at":"2026-10-25T04:50:17+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-25T04:50:17Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade `@aws-amplify/graphql-index-transformer` to `3.1.2`\n- Upgrade `@aws-amplify/data-construct` to `1.17.4` or `@aws-amplify/graphql-api-construct` to `1.21.4`\n- Patch any forked or derivative code, then redeploy the backend","reach":"internet","title":"AWS Amplify: query resolvers let authenticated users read other users' records","impact":"medium","summary":"Query resolvers generated for SQL-backed models in the Amplify API Category skip proper authorization checks, so a signed-in user can craft GraphQL queries to read records owned by other users of the same application. The fix is in the updated index transformer and the constructs that bundle it, and no workaround is documented.","category":"package","nicknames":[],"who_cares":["aws-amplify","graphql","appsync","javascript","typescript"],"confidence":0.7,"needs_auth":"yes","worst_case":"Authenticated users read other users' records in the same application","analyst_note":"","how_to_check":"- Check the installed `@aws-amplify/graphql-index-transformer` version in `package.json` and lockfile; affected if below `3.1.2`\n- Check `@aws-amplify/graphql-api-construct` (affected below `1.21.4`) and `@aws-amplify/data-construct` (affected below `1.17.4`)\n- Confirm whether the backend uses SQL-backed models with query resolvers and authorization rules","needs_analyst":false,"not_affected_if":["fixed-version","no-sql-backed-models"],"who_is_affected":"Teams that define GraphQL data models with Amplify's CDK constructs and use SQL-backed models whose query resolvers rely on owner-based authorization. Backends that do not use these packages, or that have already moved to the fixed versions, are not affected.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000722,"input_tokens":3868,"output_tokens":671,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-108096':3A,100C,118C,179C,290C '-133':137C '-2026':2A,99C,117C,178C,289C '/data-construct':230C,249C '/graphql-api-construct':224C,255C '/graphql-index-transformer':192C,218C,242C '00':150C '1.17.4':231C,250C '1.21.4':226C,256C '1.4.0':225C '10/09/2026':148C '11':149C '2.2.0':219C '2026':136C '3.1.2':220C,243C '5xm3':23A,28A,295C '69c4':21A,26A,293C 'address':237C 'allow':194C 'amplifi':16A,33B,51B,113C,131C,155C,191C,217C,223C,229C,241C,248C,254C 'api':17A,52B,114C,132C,156C,174C 'applic':78B,209C 'appsync':29B,173C 'attent':145C 'authent':196C 'author':5A,56B,102C,120C,169C,182C 'avail':286C 'aw':15A,30B,32B,112C,130C,138C,140C,154C,172C,190C,216C,222C,228C,240C,247C,253C 'aws-amplifi':31B,189C,215C,221C,227C,239C,246C,252C 'aws-security@amazon.com':298C 'back':12A,47B,109C,127C 'backend':281C 'bulletin':134C 'bundl':91B 'categori':18A,53B,115C,133C,157C 'cdk':160C 'check':57B 'code':269C 'concern':304C 'construct':89B,161C 'content':141C 'craft':65B,211C 'cve':1A,98C,116C,177C,288C 'data':166C 'date':147C 'defin':164C 'deriv':268C 'descript':153C 'disclosur':38B 'document':97B 'email':297C 'ensur':264C 'fix':80B,276C 'fork':266C 'generat':43B,187C 'ghsa':20A,25A,292C 'ghsa-69c4-mvf5-5xm3':19A,24A,291C 'graphql':34B,66B,165C 'id':135C 'identifi':176C 'impact':213C 'import':143C 'improp':4A,101C,119C,181C 'includ':244C 'incorpor':273C 'index':85B 'issu':234C 'javascript':35B 'lab':37B 'lab-disclosur':36B 'latest':262C 'librari':162C 'might':193C 'model':13A,48B,110C,128C,167C 'mvf5':22A,27A,294C 'new':275C 'own':71B,202C 'packag':39B 'patch':271C 'pdt':152C 'pleas':296C 'proper':55B 'public':146C 'queri':7A,41B,67B,104C,122C,185C,212C 'question':302C 'read':69B,200C 'recommend':258C 'record':70B,201C 'redeploy':279C 'refer':287C 'remot':197C 'requir':144C 'resolut':232C 'resolv':8A,42B,105C,123C,186C 'rule':170C 'scope':139C 'secur':301C 'sign':61B 'signed-in':60B 'skip':54B 'sql':11A,46B,108C,126C 'sql-back':10A,45B,107C,125C 'transform':86B 'type':142C 'typescript':40B 'updat':84B 'upgrad':259C 'user':63B,74B,198C,205C 'version':214C,263C 'via':210C 'workaround':95B,282C,284C","nicknames":[],"mitigations":[],"who_affected":"Teams that define GraphQL data models with Amplify's CDK constructs and use SQL-backed models whose query resolvers rely on owner-based authorization. Backends that do not use these packages, or that have already moved to the fixed versions, are not affected.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":null,"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-133-aws/#GHSA-69c4-mvf5-5xm3","url":"https://aws.amazon.com/security/security-bulletins/rss/2026-133-aws/","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-24T19:28:16+00:00","fetched_at":"2026-10-25T23:28:23+00:00","note":"AWS: CVE-2026-108096: Improper authorization in query resolvers for SQL-backed models in AWS Amplify API Category"}],"documents":[{"id":2950,"url":"https://aws.amazon.com/security/security-bulletins/rss/2026-133-aws/","title":"AWS: CVE-2026-108096: Improper authorization in query resolvers for SQL-backed models in AWS Amplify API Category","kind":"advisory","source":"lab","text":"CVE-2026-108096: Improper authorization in query resolvers for SQL-backed models in AWS Amplify API Category\n\n### CVE-2026-108096: Improper authorization in query resolvers for SQL-backed models in AWS Amplify API Category\n\nBulletin ID: 2026-133-AWS Scope: AWS Content Type: Important (requires attention) Publication Date: 10/09/2026 11:00 AM PDT\n\nDescription:\n\nAWS Amplify API Category is a CDK Construct library for defining GraphQL data models with authorization rules as AWS AppSync APIs. We identified CVE-2026-108096, where improper authorization in the query resolvers generated by @aws-amplify/graphql-index-transformer might allow an authenticated remote user to read records owned by other users of the same application via crafted queries.\n\nImpacted versions:\n\n- @aws-amplify/graphql-index-transformer >=2.2.0, <3.1.2;\n- @aws-amplify/graphql-api-construct >=1.4.0, <1.21.4;\n- @aws-amplify/data-construct <1.17.4\n\nResolution:\n\nThis issue has been addressed in @aws-amplify/graphql-index-transformer 3.1.2 (included in @aws-amplify/data-construct 1.17.4 and @aws-amplify/graphql-api-construct 1.21.4). We recommend upgrading to the latest version ensuring any forked or derivative code is patched to incorporate the new fixes and then redeploying their backend.\n\nWorkarounds:\n\nNo workarounds are available.\n\nReferences:\n\n- CVE-2026-108096\n- GHSA-69c4-mvf5-5xm3\n\n Please email aws-security@amazon.com with any security questions or concerns.","published_at":null,"relation":"advisory","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"}