ช่วงเดือนมิถุนายน 2017 ที่ผ่านมา ทาง Security Research ที่ชื่อว่า Guido Vranken ได้ทดสอบหาช่องโหว่ใน OpenVPN ด้วยวิธีการ fuzzing (การทดสอบ input ที่มีลักษณะหลากหลายเข้าไป) ซึ่งทำให้พบช่องโหว่มากมาย ทาง FreeRADIUS เห็นว่าน่าสนใจ จึงได้ทำการร้องขอให้ทาง Guido Vranken ในการทดสอบหาช่องโหว่ให้ด้วยเช่นกัน ซึ่งหลังจากที่ผ่านไปประมาณหนึ่งสัปดาห์ ก็ได้พบช่องโหว่มาจำนวนหนึ่งพร้อมกับทำการแก้ไขเรียบร้อยแล้วครับ

รวมปัญหาที่พบ

จากทั้งหมดพบ 15 ปัญหา, มี 5 ช่องโหว่ที่ไม่มีทางถูกโจมตีได้. มี 6 ช่องโหว่ที่โจมตีได้ผ่าน DHCP, อีก 4 ช่องโหว่เป็นของ RADIUS  Server.

FR-GV-201 (v2,v3) Read / write overflow in make_secret()
FR-GV-202 (v2) Write overflow in rad_coalesce()
FR-GV-203 (v2) DHCP – Memory leak in decode_tlv()
FR-GV-204 (v2) DHCP – Memory leak in fr_dhcp_decode()
FR-GV-205 (v2) DHCP – Buffer over-read in fr_dhcp_decode_options()
FR-GV-206 (v2,v3) DHCP – Read overflow when decoding option 63
FR-GV-207 (v2) Zero-length malloc in data2vp()
FR-GV-301 (v3) Write overflow in data2vp_wimax()
FR-GV-302 (v3) Infinite loop and memory exhaustion with ‘concat’ attributes
FR-GV-303 (v3) DHCP – Infinite read in dhcp_attr2vp()
FR-GV-304 (v3) DHCP – Buffer over-read in fr_dhcp_decode_suboptions()
FR-GV-305 (v3) Decode ‘signed’ attributes correctly
FR-AD-001 (v2,v3) Use strncmp() instead of memcmp() for string data
FR-AD-002 (v3) String lifetime issues in rlm_python
FR-AD-003 (v3) Incorrect statement length passed into sqlite3_prepare

มีช่องโหว่บางช่องโหว่ที่มีผลกระทบตั้งแต่ version 2,3 และ development version (4.0.x) ซึ่งตอนนี้ทาง FreeRadius ได้แก้ไขช่องโหว่เหล่านั้นทั้งหมดแล้วใน FreeRADIUS version 2.2.10 และ 3.0.15

หากใครสนใจรายละเอียดของแต่ละช่องโหว่สามารถตามไปได้ใน Source ครับ

Source:: FreeRADIUS