DragonFlyBSD Kernel Audit
← triage · dashboard
DF-2478

Unbounded md device auto-creation on open allows kernel memory exhaustion (DoS) by operator-group users

Summary

mdopen() auto-creates brand-new malloc md device whenever highest existing unit is opened: if(sc->unit+1==mdunits) mdcreate_malloc() (:135-136). Each new device allocates md_s devstat entry disk/cdev via disk_create and initial secp array mdunits incremented without cap (:410). Each freshly created /dev/mdN again 0640 root:operator so operator-group user can repeatedly open newest unit to force creation of unbounded number of md devices exhausting kernel memory and devstat slots system-wide DoS/panic. No MD_MAXUNITS-style limit anywhere in file.

Discussion (0)

No comments yet.