พบช่องโหว่ที่อาจทำให้เกิด Supply-chain attack บน IBM Cloud Databases

นักวิจัยจาก Wiz พบช่องโหว่ SQL injection ใน IBM PostgreSQL Stored function ทำให้สามารถยกระดับสิทธิ์ของผู้ใช้งานเป็น superuser และสามารถสั่งรันโค้ดที่เป็นอันตรายจากระยะไกล (Remote code execution) บน OS ของ IBM PostgreSQL ได้โดยตรง

นักวิจัยยังพบว่า IBM PostgreSQL ถูก run บน Kubernetes และใน Pod มี Kubernetes Service Account token ที่ over-privileged ทำให้สามารถ Authentication กับ Kubernetes API server เพื่ออ่านค่า config ของ Pod ทั้งที่อยู่ใน Namespace ของผู้ใช้งานได้

Service Account token ยังสามารถอ่านค่า imagePullSecrets ที่ใช้ในการ Authentication กับ Internal container registry ของ IBM ในขั้นตอนการ Deploy Pod

นักวิจัยจึงทำการ Pull image ทั้งหมดจาก container registry ของ IBM โดยใช้ secrets ที่ได้มาจาก imagePullSecrets แล้ว scan หา secrets ที่อาจถูกฝังอยู่ใน Images

หลังที่ทำการ Scan image นักวิจัยพบ secrets ที่ถูกฝังอยู่ Image ดังนี้:

  • FTP credentials
  • Internal artifact repository credentials
  • IBM Cloud internal services credentials

เนื่องจาก IBM PostgreSQL มี network access ที่สามารถเข้าถึง internal IBM Cloud build servers และ credentials ที่ได้มามีสิทธ์ในการเขียน artifact repository ทำให้นักวิจัยสามารถที่จะโจมตีแบบ Supply chain attack โดยการ upload malicious artifact ไปยัง artifact repository เมื่อผู้ใช้งานรายใดก็ตามมีการ Deploy PostgreSQL เครื่องใหม่ malicious artifact ก็จะถูก deploy ไปที่ Environment ของผู้ใช้งานด้วยทันที

วิธีการแก้ไข:

IBM Cloud Databases ได้ทำการ update patch แก้ไขให้ PostgreSQL instances ของผู้ใช้งานให้แล้วโดยอัตโนมัติโดยที่ผู้ใช้งานไม่ต้องดำเนิดการใด ๆ เพิ่มเติมอีก

 

ที่มา : wizibm