พบช่องโหว่ cross-tenant access บน AWS AppSync

AWS AppSync เป็น serverless GraphQL ที่สามารถเชื่อมต่อกับ Lambda functions, DynamoDB, RDS, external APIs และยังสามารถเรียกใช้งาน AWS APIs ได้โดยตรง

การ assume role กับ Role ที่ผูกอยู่กับ AppSync

ในการที่จะผูก Role กับ AppSync ได้ ปกติแล้ว Role นั้นต้องใน Account เดียวกันกับ AppSync เท่านั้น แต่ว่านักวิจัยสามารถ Bypass การตรวจสอบ parameter 'serviceRoleArn' ด้วยการเปลียน parameter เป็นตัวพิมพ์เล็กทั้งหมด 'servicerolearn' ซึ่งทำให้นักวิจัยสามารถผูก Role จาก account ใดก็ได้ขอเพียงแค่รู้ชื่อ Role และมี Trust policy ให้ service AppSync assume role ได้

เมือนักวิจัยสามารถผูก AppSync กับ Role ของ account เป้าหมายได้แล้ว นักวิจัยจะสามารถเข้าถึงหรือแก้ไข AWS resource ของ Account เป้าหมายได้

การแก้ไข

AWS ได้ทำการวิเคราะห์ Service Log ตั้งแต่เริ่มการ Launch service AppSync ซึ่งไม่พบว่ามีการโจมตีด้วยช่องโหว่ดังกล่าว และได้ทำการแก้ไขช่องโหว่เรียบร้อยแล้วโดยที่ผู้ใช้งานไม่ต้องดำเนินการใด ๆ เพิ่มเติม

ที่มา : securitylabs.datadoghq , amazon