ช่องโหว่ RDS PostgreSQL ทำให้สามารถดึง AWS internal credentials ออกมาได้

นักวิจัยจาก Lightspin พบช่องโหว่ local file read ใน RDS และ Aurora PostgreSQL บน AWS โดยการใช้ third-party open-source PostgreSQL extension ที่ชื่อว่า “log_fdw” ปกติแล้ว log_fdw จะใช้ในการอ่านไฟล์ log ในเครื่อง RDS แต่นักวิจัยสามารถ Bypass การตรวจสอบชื่อไฟล์ของ log_fdw ทำให้สามารถอ่านไฟล์ใดก็ได้ในเครื่อง RDS

โดย RDS คือบริการ Database ที่ผู้ใช้งานไม่ต้องบริหารจัดการตัว OS, Database Patch หรือ Security Patch ทุกอย่างถูกจัดการให้โดย AWS จึงทำให้ปกติแล้วผู้ใช้งานจะไม่มีสิทธ์เข้าถึง OS โดยตรง หรือสิทธ์ Superuser ใน Database

ซึ่งนักวัจัยพบว่าเมื่อสามารถเข้าถึงไฟล์ RDS config ‘/rdsdbdata/config/postgresql.conf’ จะพบว่า config จะถูก link ไปยังไฟล์ ‘/tmp/csd-grover-credentials.json’ ซึ่งจะมี Internal AWS credentials ถูกเก็บไว้อยู่ ทำให้นักวิจัยสามารถนำ crdententials นี้ไปใช้เข้าถึง AWS internal environment ได้

ปัจจุบัน AWS ได้อัปเดต Amazon Aurora PostgreSQL และ Amazon RDS for PostgreSQL เพื่อแก้ไขช่องโหว่ดังกล่าวเรียบร้อยแล้ว ซึ่งทาง AWS ยืนยันว่าไม่มีลูกค้ารายใดได้รับผลกระทบจากช่องโหว่ดังกล่าว นอกจากนี้ AWS ยังยกเลิกการใช้งานบางเวอร์ชันของ Amazon Aurora PostgreSQL และ Amazon RDS for PostgreSQL เพื่อไม่ให้ผู้ใช้งานสามารถสร้าง instances ด้วยเวอร์ชันที่มีช่องโหว่ได้

Amazon Aurora PostgreSQL และ Amazon RDS for PostgreSQL ที่ถูกยกเลิกการใช้งาน:

Amazon Aurora PostgreSQL-compatible edition versions:

10.11, 10.12, 10.13

11.6, 11.7, 11.8

Amazon RDS for PostgreSQL versions:

13.2, 13.1

12.6, 12.5, 12.4, 12.3, 12.2

11.11, 11.10, 11.9, 11.8, 11.7, 11.6, 11.5, 11.5, 11.4, 11.3, 11.2, 11.1

10.16, 10.15, 10.14, 10.13, 10.12, 10.11, 10.10, 10.9, 10.7, 10.6, 10.5, 10.4, 10.3, 10.1

9.6.21, 9.6.20, 9.6.19, 9.6.18, 9.6.17, 9.6.16, 9.6.15, 9.6.14, 9.6.12, 9.6.11, 9.6.10, 9.6.9, 9.6.8, 9.6.6, 9.6.5, 9.6.3, 9.6.2, 9.6.1

9.5, 9.4 and 9.3

ที่มา:
blog.lightspin.io
aws.amazon.com