ไมโครซอฟท์พบระบบปฎิบัติการ IoT จำนวนมากมีช่องโหว่ร้ายแรงเพราะฟังก์ชั่น malloc ไม่ตรวจสอบอินพุต
ทีมความปลอดภัยไซเบอร์ Section 52 ของไมโครซอฟท์ที่มีหน้าที่วิจัยความปลอดภัยในอุปกรณ์กลุ่ม IoT รายงานถึงช่องโหว่ BadAlloc กลุ่มช่องโหว่ของซอฟต์แวร์ IoT สำคัญๆ จำนวนมากที่ไม่ตรวจสอบอินพุตก่อนจองหน่วยความจำจนกลายเป็นช่องโหว่ heap overflow นำไปสู่การโจมตีแบบรันโค้ดระยะไกลหรือไม่ก็ทำให้อุปกรณ์แครชไปได้ ตัวอย่างของช่องโหว่ BadAlloc เช่น ฟังก์ชั่น malloc สำหรับจองหน่วยความจำเมื่อรับค่าขนาดหน่วยความจำที่ต้องการมาแล้วก็นำค่าเป็นบวกกับค่าคงที่ เช่น ขนาด struct สำหรับเก็บข้อมูล heap โดยไม่ได้ตรวจสอบว่าขนาดหน่วยความจำใหญ่เกินไปหรือไม่ ทำให้เมื่อนำค่าไปบวกกับค่าคงที่ต่างๆ แล้วเกิด integer overflow ทำให้ค่าที่ได้วนกลับไปเริ่มจากศูนย์หรือติดลบ ทาง Section 52 แนะนำว่าผู้ใช้อุปกรณ์ IoT ควรติดตั้งแพตช์จากผู้ผลิตเสมอ, มอนิเตอร์การทำงานผ่านระบบเก็บ log, จำกัดการเข้าถึงอุปกรณ์ เช่น บังคับต้อง VPN ก่อน, แบ่งวงเน็ตเวิร์คออกจากวงอื่นๆ ซอฟต์แวร์ที่ยืนยันว่ามีช่องโหว่ BadAlloc มีซอฟต์แวร์ดังๆ หลายตัว เช่น Amazon FreeRTOS, ARM Mbed…