jQuery 3.5.0 ได้ปิดช่องโหว่ Cross-site Scripting (XSS) ลงเป็นที่เรียบร้อยแล้ว

เมื่อ :
ผู้เข้าชม : 1,324
เขียนโดย :
image_big
image_big
เมื่อ :
ผู้เข้าชม : 1,324
เขียนโดย :

ไม่นานมานี้ Masato Kinugawa แฮกเกอร์ชาวญี่ปุ่นได้ค้นพบช่องโหว่ Cross-site scripting (XSS) ในตัวระบบ jQuery ซึ่งเขาได้อธิบายว่าสามารถทำได้โดยการใช้ Regex operation ในตัว jQuery.htmlPrefilter

Cross-site Scripting ชื่อย่อว่า XSS โดยเว็บแอปพลิเคชันที่มีช่องโหว่ประเภทนี้ อนุญาตให้ผู้ไม่หวังดีสามารถใส่ JavaScript ให้ทำงานภายใต้ Domain ของเป้าหมาย ดังนั้น ผู้ไม่หวังดีสามารถใช้ XSS เพื่อขโมยข้อมูลของผู้ใช้งานคนอื่นได้ 

อ้างอิง : https://blog.tamacorp.co/xss/

เดิมที jQuery.htmlPrefilter จะคอยตรวจสอบว่าในตัว Closing tags ทั้งหมดนั้นเป็นไปตามมาตรฐานของ XHTML ตัวอย่างเช่น  jQuery("

") จะถูกเปลี่ยนเป็น jQuery("
 
" อย่างไรก็ตาม มีการค้นพบว่า Regex นี้สามารถใช้ในการโจมตีแบบ XSS ได้

 

ซึ่งใน jQuery 3.5.0 ที่ได้รับการอัปเดตล่าสุด ทางผู้พัฒนาได้ทำการแก้ไขอุดช่องโหว่นี้เป็นที่เรียบร้อยแล้ว โดยฟังก์ชัน jQuery.htmlPrefilter จะไม่ใช้ Regex และปล่อยให้ค่า String นั้นยังถูกคงค่าเดิมเอาไว้

อย่างไรก็ตาม เมื่ออัปเดตแล้วโค้ดเดิมที่ใช้การทำงานของ jQuery.htmlPrefilter อาจจะเกิดข้อผิดพลาดขึ้นได้ ซึ่งทางผู้พัฒนาได้แนะนำให้ใช้ปลั๊กอิน jQuery migrate เพื่ออ้างอิงโค้ดใหม่อีกครั้ง

ต้นฉบับ :