
ที่มาภาพ: The Hacker News
เปิดเผยช่องโหว่ Squidbleed อายุ 29 ปี รั่วข้อมูล HTTP แบบ plaintext ผ่านพร็อกซี่เดียวกัน
⚡ สรุป 30 วิ
นักวิจัยจาก Calif.io พบช่องโหว่ heap over‑read ใน Squid ชื่อ Squidbleed ซึ่งอายุ 29 ปี ทำให้ผู้ใช้ที่แชร์พร็อกซี่เดียวกันสามารถดึงข้อมูล HTTP แบบ plaintext…
การพบช่องโหว่ระดับ heap over‑read ในซอฟต์แวร์พร็อกซี่แบบเปิด‑ซอร์ส Squid ทำให้ผู้ใช้ที่สามารถส่งทราฟฟิกผ่านพร็อกซี่เดียวกันอาจดึงข้อมูล HTTP แบบ plaintext ของผู้ใช้คนอื่น รวมถึงข้อมูลรับรองและโทเคนเซสชันได้ ช่องโหว่นี้ได้รับชื่อว่า Squidbleed และมีอายุราว 29 ปีตั้งแต่การเปลี่ยนแปลงการแยกวิเคราะห์ FTP ในปี 1997 แต่ยังคงอยู่ในค่าตั้งต้นของ Squid เวอร์ชันปัจจุบันตามที่นักวิจัยจาก Calif.io เปิดเผยในเดือน มิถุนายนที่ผ่านมา
Overview
Squid เป็นพร็อกซี่เว็บที่ใช้กันอย่างแพร่หลายทั้งในองค์กรและผู้ให้บริการอินเทอร์เน็ต เพื่อทำ caching, การกรองเนื้อหา และการควบคุมการเข้าถึง การทำงานของมันอาศัยการจัดการหน่วยความจำแบบไดนามิก ซึ่งทำให้เกิดความเสี่ยงต่อการอ่านข้อมูลเกินขอบเขต (over‑read) หากมีข้อบกพร่องในโค้ด การตรวจสอบหน่วยความจำไม่เพียงพอจะทำให้ข้อมูลจากบัฟเฟอร์หนึ่งถูกเปิดเผยต่อบัฟเฟอร์อื่นโดยไม่ได้ตั้งใจ
ในกรณีของ Squidbleed นักวิจัยพบว่าการอ่านค่าใน heap เกินขอบเขตทำให้ข้อมูล HTTP request ของผู้ใช้หนึ่งถูกคัดลอกไปยังตำแหน่งหน่วยความจำที่ผู้ใช้คนอื่นสามารถอ่านได้ ซึ่งผู้โจมตีไม่จำเป็นต้องมีสิทธิ์เข้าถึงเซิร์ฟเวอร์โดยตรง เพียงแค่เป็นผู้ที่อนุญาตให้ส่งคำขอผ่านพร็อกซี่เดียวกันก็สามารถดึงข้อมูลเหล่านั้นออกมาได้
Technical Details
การโจมตีอาศัยการจัดการ FTP parsing ที่ถูกเพิ่มเข้ามาในปี 1997 เพื่อสนับสนุนการดึงข้อมูลไฟล์ผ่าน FTP ใน Squid การเปลี่ยนแปลงนี้ทำให้ฟังก์ชันบางส่วนจัดสรรหน่วยความจำโดยไม่มีการตรวจสอบขนาดอย่างเพียงพอ เมื่อมีการรับคำขอ HTTP ที่มีขนาดต่างกันหลายคำขอต่อเนื่อง ระบบอาจเขียนข้อมูลใหม่ทับบัฟเฟอร์เก่าที่ยังคงอยู่ใน heap
ผลลัพธ์คือผู้โจมตีที่อยู่ในเครือข่ายเดียวกันกับพร็อกซี่สามารถทำการอ่านข้อมูลแบบ plaintext ที่รวมถึง:
- URL ของคำขอ
- ค่าหัวข้อ HTTP (Headers)
- คุกกี้, token, หรือข้อมูลรับรองที่ส่งในคำขอ
การรั่วไหลนี้ไม่จำกัดเฉพาะข้อมูลที่อยู่ใน URL เท่านั้น แต่รวมถึงข้อมูลที่ถูกส่งผ่าน POST หรือ HEADERS ด้วย ซึ่งอาจทำให้ข้อมูลเซสชันหรือรหัสผ่านถูกเปิดเผยต่อผู้ไม่ประสงค์ดี
Impact
ช่องโหว่นี้ส่งผลต่อองค์กรที่ใช้ Squid เป็นศูนย์กลางการจัดการทราฟฟิกอินเทอร์เน็ต ทั้งในสภาพแวดล้อมองค์กรขนาดใหญ่และผู้ให้บริการอินเทอร์เน็ตที่ใช้ Squid เป็นพร็อกซี่หน้าแคช การที่ผู้โจมตีสามารถดึงข้อมูล HTTP ของผู้ใช้คนอื่นได้อาจทำให้เกิดการละเมิดความเป็นส่วนตัวและการขโมยข้อมูลสำคัญ เช่น คำเข้าสู่ระบบของระบบภายในหรือบริการคลาวด์
นอกจากนี้ เนื่องจาก Squidbleed ทำงานในระดับ heap over‑read จึงไม่จำเป็นต้องทำการรบกวนหรือทำลายระบบเพื่อให้ได้ผลลัพธ์ ผู้โจมตีเพียงแค่ส่งคำขอที่ออกแบบมาเฉพาะก็สามารถกระตุ้นการอ่านข้อมูลได้ทันที ทำให้ความเสี่ยงต่อการใช้ในสถานการณ์จริงสูง โดยเฉพาะในเครือข่ายที่มีหลายผู้ใช้แชร์พร็อกซี่เดียวกัน
Mitigation
ผู้ดูแลระบบที่ใช้งาน Squid ควรดำเนินการตามขั้นตอนต่อไปนี้เพื่อป้องกันการรั่วไหลของข้อมูล
- อัปเดต Squid ไปยังรุ่นล่าสุดที่มีการแก้ไขข้อบกพร่องเรื่อง heap over‑read (หากมีการออกแพตช์จากผู้พัฒนา)
- ตรวจสอบการกำหนดค่าพร็อกซี่ โดยปิดการใช้งานฟีเจอร์ FTP ที่ไม่จำเป็น หรือกำหนดให้รับเฉพาะการเชื่อมต่อจากแหล่งที่เชื่อถือได้เท่านั้น
- จำกัดการเข้าถึง ให้ผู้ใช้ที่สามารถส่งทราฟฟิกผ่านพร็อกซี่มีเพียงผู้ที่ได้รับอนุญาตจริง ๆ ผ่านการตรวจสอบการยืนยันตัวตนและการควบคุมเครือข่าย
- เฝ้าตรวจสอบบันทึก เพื่อหาพฤติกรรมที่ผิดปกติ เช่น คำขอ HTTP ที่มีขนาดหรือรูปแบบไม่สอดคล้องกับการใช้งานปกติ
การดำเนินการเหล่านี้จะช่วยลดโอกาสที่ผู้โจมตีจะใช้ช่องโหว่ Squidbleed ได้อย่างมีประสิทธิภาพ
Analysis
การที่ช่องโหว่นี้มีอายุยาวนานกว่า สองทศวรรษ แสดงให้เห็นถึงความท้าทายในการดูแลซอฟต์แวร์โอเพ่นซอร์สที่มีการพัฒนาและปรับปรุงต่อเนื่องโดยชุมชน การเปลี่ยนแปลงโค้ดที่ดูเหมือนไม่สำคัญในปี 1997 กลับกลายเป็นจุดอ่อนที่อาจทำให้ข้อมูลสำคัญของผู้ใช้รั่วไหลได้ในยุคปัจจุบัน
นอกจากนี้ การเปิดเผยช่องโหว่โดยนักวิจัยอิสระจาก Calif.io แสดงถึงบทบาทสำคัญของชุมชนความปลอดภัยในการตรวจจับและสื่อสารความเสี่ยงที่อาจถูกมองข้ามโดยผู้พัฒนาซอฟต์แวร์เอง การตอบสนองต่อ Squidbleed ควรเป็นการผสมผสานระหว่างการอัปเดตโค้ด การปรับปรุงนโยบายการจัดการเครือข่าย และการส่งเสริมให้ผู้ใช้ตรวจสอบการตั้งค่าอย่างสม่ำเสมอ
Summary
ช่องโหว่ Squidbleed ทำให้ข้อมูล HTTP แบบ plaintext ของผู้ใช้หนึ่งสามารถถูกดึงออกโดยผู้ใช้คนอื่นที่ใช้พร็อกซี่เดียวกันได้ การโจมตีเกิดจากการอ่าน heap เกินขอบเขตที่มีมาตั้งแต่ปี 1997 และยังคงอยู่ในค่าตั้งต้นของ Squid ปัจจุบัน การอัปเดตซอฟต์แวร์และการปรับปรุงการกำหนดค่าเป็นวิธีหลักในการลดความเสี่ยงนี้.
แชร์บทความนี้:
ชอบบทความแบบนี้?
สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม
แหล่งข่าวต้นฉบับ
- ชื่อต้นฉบับ
- 29-Year-Old Squid Proxy Bug 'Squidbleed' Can Leak Cleartext HTTP Requests
- ผู้เขียน
- [email protected] (The Hacker News)
- แหล่ง
- The Hacker News
- วันที่เผยแพร่
- 22 มิถุนายน 2569 เวลา 21:29



