Tags:
Node Thumbnail

Project Zero ของกูเกิลรายงานช่องโหว่ในส่วนการรับไฟล์รับรองการเข้ารหัสของ Chrome หากไฟล์ใบรับรองมีขนาดใหญ่มากเกิน 4GB จะเปิดช่องให้แฮกเกอร์สามารถส่งโค้ดมารันเบราว์เซอร์ได้

ความผิดพลาดนี้เกิดขึ้นเนื่องจากโค้ดส่วนที่อ่านค่าความยาวของไฟล์ใช้ตัวแปรชนิด size_t แต่เมื่อต้องนำข้อมูลไฟล์ใบรับรองมาต่อกันออปเจกต์ IOBuffer กลับรองรับความยาวเป็นตัวแปรชนิด int ทำให้ไฟล์ใบรับรองทะลุพื้นที่ของ heap ออกไปได้

ส่วนรองรับใบรับรองการเข้ารหัสนี้อยู่นอก sandbox ของ Chrome จึงมีความร้ายแรงแม้แฮกเกอร์จะต้องล่อให้เบราว์เซอร์โหลดไฟล์ x509 ขนาดใหญ่

โค้ดส่วนนี้เป็นการรองรับไฟล์ x509 ที่เซิร์ฟเวอร์ประกาศ MIME type เป็น application/x-x509-user-cert และ MIME อื่นๆ ในกลุ่มเดียวกัน การส่งไฟล์ผ่าน HTTP ทำให้สามารถสร้างไฟล์ที่บีบอัดแบบ Gzip ไว้แล้วได้ ตัวไฟล์จริงจึงอาจจะมีขนาดเล็กเพียง 4MB เท่านั้น

กระบวนการแฮกด้วยช่องโหว่นี้ยังคงเป็นเรื่องยากแม้ขนาดข้อมูลที่ส่งจะมีขนาดเล็ก แต่เบราว์เซอร์จะต้องขยายไฟล์ซึ่งใช้เวลานานกว่า 30 วินาที และการใช้หน่วยความจำอย่างหนักอาจจะทำให้โปรเซสอื่นๆ มีปัญหาได้

ช่องโหว่นี้แก้ไขไปแล้วตั้งแต่เดือนพฤษภาคมที่ผ่านมา แต่เพิ่งเปิดเผยสู่สาธารณะเมื่อวานนี้

ที่มา - Project Zero, Project Zero Blog

Get latest news from Blognone

Comments

By: toooooooon
iPhoneWindows PhoneAndroidBlackberry
on 8 July 2015 - 13:21 #825586

ไม่เป็นปํญหาสำหรับ user ADSL ^ ^''

By: heart
ContributoriPhone
on 8 July 2015 - 15:01 #825618 Reply to:825586
heart's picture

เป็นปัญหาครับ เพราะมันไม่ได้ทำงานเสร็จเมื่อโหลดครบ 4GB
แต่มันทำงานแค่ส่วนของการอ่านขนาดไฟล์

ตามข่าวนะครับ "โค้ดส่วนที่อ่านค่าความยาวของไฟล์"
ยังไม่ต้องโหลดไฟล์นะครับ แค่อ่านค่าความยาวของไฟล์ ก็จบสิ้นแล้วครับ

By: toooooooon
iPhoneWindows PhoneAndroidBlackberry
on 8 July 2015 - 16:57 #825664 Reply to:825618

เจี๊ยกกกกก...

By: LazarusSP1
ContributoriPhone
on 8 July 2015 - 13:30 #825588

ปัญหานี้ไม่กระทบกับผู้ใช้งานในประเทศไทย
เพราะแฟลตไดรฟ์ยังเป็น FAT32 อินเทอร์เนตก็ยังไม่ใช่บรอดแบนด์ และ 3G FUP ที่ 2Gb

By: hisoft
ContributorWindows PhoneWindows
on 8 July 2015 - 17:25 #825675 Reply to:825588
hisoft's picture

โค้ดส่วนนี้เป็นการรองรับไฟล์ x509 ที่เซิร์ฟเวอร์ประกาศ MIME type เป็น application/x-x509-user-cert และ MIME อื่นๆ ในกลุ่มเดียวกัน การส่งไฟล์ผ่าน HTTP ทำให้สามารถสร้างไฟล์ที่บีบอัดแบบ Gzip ไว้แล้วได้ ตัวไฟล์จริงจึงอาจจะมีขนาดเล็กเพียง 4MB เท่านั้น

...

By: nununu
Windows Phone
on 8 July 2015 - 14:04 #825598

ถ้าส่งคำสั่งแค่ไม่กี่บรรทัดให้สร้างไฟล์ใบรับรองขนาดเกิน 4GB ได้ bandwidth จะไม่ใช่ปัญหาเลย