ช่องโหว่ใหม่ใน pgAdmin: RCE ผ่าน Database Restore

นักวิจัยด้านความปลอดภัยค้นพบช่องโหว่ CVE-2025-13780 ใน pgAdmin ซึ่งเป็นเครื่องมือจัดการ PostgreSQL ที่ได้รับความนิยมทั่วโลก ช่องโหว่นี้มีคะแนนความรุนแรงสูง (CVSS 9.1) เนื่องจากสามารถทำให้เกิด Remote Code Execution (RCE) ได้ โดยอาศัยการโจมตีผ่านไฟล์ SQL dump ที่ถูกออกแบบมาเพื่อเลี่ยงการตรวจสอบของระบบ

กลไกการโจมตี
ปัญหาเกิดจากการ mismatch ระหว่างฟังก์ชันกรองคำสั่ง (has_meta_commands()) และการทำงานของ psql utility โดยฟังก์ชันกรองใช้ regex ตรวจสอบไฟล์ SQL dump แต่ไม่สามารถจัดการกับ UTF-8 BOM (Byte Order Mark) ได้อย่างถูกต้อง ผู้โจมตีสามารถสร้างไฟล์ SQL dump ที่เริ่มต้นด้วย BOM และซ่อนคำสั่งอันตราย เช่น \! (ซึ่งใช้รันคำสั่ง shell) ทำให้ pgAdmin เข้าใจผิดว่าไฟล์ปลอดภัย แต่เมื่อส่งต่อให้ psql utility มันจะลบ BOM และรันคำสั่งอันตรายทันที

ผลกระทบต่อระบบ
หากการโจมตีสำเร็จ ผู้โจมตีสามารถ:
เข้าถึงและยึดครองเซิร์ฟเวอร์เต็มรูปแบบ
ขโมยหรือลบข้อมูลฐานข้อมูล
ใช้เซิร์ฟเวอร์เป็นฐานในการโจมตีระบบอื่นในเครือข่าย

ช่องโหว่นี้กระทบกับ pgAdmin เวอร์ชัน ≤ 9.10 โดยเฉพาะระบบที่รันใน server mode ซึ่งมีการ restore ฐานข้อมูลบ่อยครั้ง

แนวทางแก้ไข
ทีมพัฒนา pgAdmin ได้ออกแพตช์แก้ไขใน เวอร์ชัน 9.11 โดยเพิ่มการตรวจสอบ BOM และปรับปรุงการกรองคำสั่งอันตราย ผู้ดูแลระบบควรรีบอัปเดตทันที และตรวจสอบ log ของระบบเพื่อหาพฤติกรรมผิดปกติที่อาจบ่งชี้ถึงการโจมตี

สรุปประเด็นสำคัญ
ช่องโหว่ CVE-2025-13780 ใน pgAdmin
เกิดจากการ bypass filter ด้วย UTF-8 BOM
ทำให้คำสั่ง shell ที่ซ่อนอยู่ถูก execute โดย psql

ผลกระทบ
เสี่ยงต่อการยึดครองเซิร์ฟเวอร์เต็มรูปแบบ
ข้อมูลฐานข้อมูลอาจถูกขโมยหรือลบ

การแก้ไข
อัปเดต pgAdmin เป็นเวอร์ชัน 9.11
ตรวจสอบ log และระบบ monitoring เพื่อหาพฤติกรรมผิดปกติ

คำเตือนด้านความปลอดภัย
หากยังใช้เวอร์ชัน ≤ 9.10 มีความเสี่ยงสูงต่อการถูกโจมตี
การ restore ฐานข้อมูลจากไฟล์ที่ไม่เชื่อถือได้อาจเปิดช่องให้เกิด RCE

https://securityonline.info/critical-pgadmin-rce-cve-2025-13780-flaw-bypasses-fix-allowing-server-takeover-via-malicious-database-restore/
🖥️ ช่องโหว่ใหม่ใน pgAdmin: RCE ผ่าน Database Restore นักวิจัยด้านความปลอดภัยค้นพบช่องโหว่ CVE-2025-13780 ใน pgAdmin ซึ่งเป็นเครื่องมือจัดการ PostgreSQL ที่ได้รับความนิยมทั่วโลก ช่องโหว่นี้มีคะแนนความรุนแรงสูง (CVSS 9.1) เนื่องจากสามารถทำให้เกิด Remote Code Execution (RCE) ได้ โดยอาศัยการโจมตีผ่านไฟล์ SQL dump ที่ถูกออกแบบมาเพื่อเลี่ยงการตรวจสอบของระบบ ⚙️ กลไกการโจมตี ปัญหาเกิดจากการ mismatch ระหว่างฟังก์ชันกรองคำสั่ง (has_meta_commands()) และการทำงานของ psql utility โดยฟังก์ชันกรองใช้ regex ตรวจสอบไฟล์ SQL dump แต่ไม่สามารถจัดการกับ UTF-8 BOM (Byte Order Mark) ได้อย่างถูกต้อง ผู้โจมตีสามารถสร้างไฟล์ SQL dump ที่เริ่มต้นด้วย BOM และซ่อนคำสั่งอันตราย เช่น \! (ซึ่งใช้รันคำสั่ง shell) ทำให้ pgAdmin เข้าใจผิดว่าไฟล์ปลอดภัย แต่เมื่อส่งต่อให้ psql utility มันจะลบ BOM และรันคำสั่งอันตรายทันที 🌐 ผลกระทบต่อระบบ หากการโจมตีสำเร็จ ผู้โจมตีสามารถ: 🌀 เข้าถึงและยึดครองเซิร์ฟเวอร์เต็มรูปแบบ 🌀 ขโมยหรือลบข้อมูลฐานข้อมูล 🌀 ใช้เซิร์ฟเวอร์เป็นฐานในการโจมตีระบบอื่นในเครือข่าย ช่องโหว่นี้กระทบกับ pgAdmin เวอร์ชัน ≤ 9.10 โดยเฉพาะระบบที่รันใน server mode ซึ่งมีการ restore ฐานข้อมูลบ่อยครั้ง 🔒 แนวทางแก้ไข ทีมพัฒนา pgAdmin ได้ออกแพตช์แก้ไขใน เวอร์ชัน 9.11 โดยเพิ่มการตรวจสอบ BOM และปรับปรุงการกรองคำสั่งอันตราย ผู้ดูแลระบบควรรีบอัปเดตทันที และตรวจสอบ log ของระบบเพื่อหาพฤติกรรมผิดปกติที่อาจบ่งชี้ถึงการโจมตี 📌 สรุปประเด็นสำคัญ ✅ ช่องโหว่ CVE-2025-13780 ใน pgAdmin ➡️ เกิดจากการ bypass filter ด้วย UTF-8 BOM ➡️ ทำให้คำสั่ง shell ที่ซ่อนอยู่ถูก execute โดย psql ✅ ผลกระทบ ➡️ เสี่ยงต่อการยึดครองเซิร์ฟเวอร์เต็มรูปแบบ ➡️ ข้อมูลฐานข้อมูลอาจถูกขโมยหรือลบ ✅ การแก้ไข ➡️ อัปเดต pgAdmin เป็นเวอร์ชัน 9.11 ➡️ ตรวจสอบ log และระบบ monitoring เพื่อหาพฤติกรรมผิดปกติ ‼️ คำเตือนด้านความปลอดภัย ⛔ หากยังใช้เวอร์ชัน ≤ 9.10 มีความเสี่ยงสูงต่อการถูกโจมตี ⛔ การ restore ฐานข้อมูลจากไฟล์ที่ไม่เชื่อถือได้อาจเปิดช่องให้เกิด RCE https://securityonline.info/critical-pgadmin-rce-cve-2025-13780-flaw-bypasses-fix-allowing-server-takeover-via-malicious-database-restore/
SECURITYONLINE.INFO
Critical pgAdmin RCE (CVE-2025-13780) Flaw Bypasses Fix, Allowing Server Takeover Via Malicious Database Restore
A critical RCE flaw (CVSS 9.1) in pgAdmin bypasses security via a UTF-8 BOM parsing mismatch. It allows attackers to execute root commands during a database restore operation. Update immediately.
0 Comments 0 Shares 51 Views 0 Reviews